Я новичок в Linux и использую Linux mint 17.1
Я переустанавливал Linux Mint 20 раз за последние 3 дня для этой проблемы, но не смог ее исправить
Я пытаюсь установить ruby на рельсы, используя rvm, что происходит, если запустить новую установку Linux и попытаться установить gems, ruby и прочее в одном сеансе терминала, который он установил успешно, как только я закрываю сеанс терминала, я не могу получить эти гемы ,
Переустанавливая его более 20 раз за последние 3 дня, я тоже искал в Интернете. Мне сказали поместить переменную среды в /etc/environment
путь, который я повторял в этом сеансе, и вставил его в /etc/environment
файл.
даже сейчас я не получаю свои драгоценные камни
когда я набрал, rvm -v
я получаю следующие ошибки
Warning: PATH set to RVM ruby but GEM_HOME and/or GEM_PATH not set, see:
https://github.com/wayneeseguin/rvm/issues/3212
Warning! PATH is not properly set up, $GEM_HOME is not set,
usually this is caused by shell initialization files - check them for 'PATH=...' entries,
it might also help to re-add RVM to your dotfiles: 'rvm get stable --auto-dotfiles',
to fix temporarily in this shell session run: 'rvm use ruby-2.2.2'.
rvm 1.26.11 (latest) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]
Я очень начинающий человек, когда дело доходит до работы с терминалом, я могу запустить несколько основных команд для работы с ruby.
я бы хотел знать
- Как установить PATH
- Как установить GEM_HOME
- Как установить GEM_PATH
Ниже мой полный путь
echo $PATH
/home/sharif/.rvm/gems/ruby-2.2.2/bin:/home/sharif/.rvm/gems/ruby-2.2.2@global/bin:/home/sharif/.rvm/rubies/ruby-2.2.2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/sharif/.rvm/bin
Ответы:
Похоже, вы хотите команду
export
для установки переменных среды:Это вступит в силу только для текущего сеанса. Чтобы сделать их более постоянными, добавьте эти строки к себе
~/.bashrc
.источник
Обычно это означает, что rvm настроен неправильно. Обычная ошибка в том, что вы не изменили свой
.bashrc
(или подобный) правильно или не перезагрузили свой терминал.Вы не должны устанавливать GEM_HOME или GEM_PATH вручную при использовании rvm.
Ты можешь попробовать
source ~/.rvm/scripts/rvm
и посмотреть, работает ли это.Также может быть, что вы еще не построили драгоценный камень. Не используйте rvm и sudo. Rvm работает лучше всего, когда установлен в вашей учетной записи и не для всей системы.
источник
source ~/.rvm/scripts/rvm
в свой,~/.bashrc
чтобы убедиться, что он загружается каждый раз, когда вы запускаете новую оболочку.Вот что я узнал и как я решил эту, казалось бы, распространенную проблему переменных среды GEM_HOME и GEM_PATH, которые не устанавливают ошибку.
Фон
Предполагается, что при установке RVM создаются env-переменные GEM_HOME и GEM_PATH для каждого настраиваемого RVM, и он это делает. Но есть ошибка, очевидно, такая, что в некоторых случаях переменные env устанавливаются только временно, и чтобы установить их снова, вы должны установить их с помощью командной строки. Я нашел обходной путь для сохранения переменных env для RVM.
Временное решение
Найдите активную (в RVM) версию Ruby: на рабочем сервере перейдите в каталог приложения и введите
$rvm list
. Это приведет к списку установленных версий Ruby и какая из них активна для RVM. Пример ответа:rvm rubies ruby-1.9.3-p547 [ x86_64 ] => ruby-1.9.3-p551 [ x86_64 ]
Итак, я знаю, что RVM в настоящее время использует версию
ruby-1.9.3-p551
. Вам нужна эта информация для следующего шага.Получите пути для GEM_PATH и GEM_HOME : вы делаете это, выполняя из командной строки
$rvm use ruby-1.9.3-p551
. Затем еще из командной строки покажите все настройки среды с помощью командыenv
. Найдите GEM_PATH и GEM_HOME и скопируйте их полностью в рабочую область.GEM_PATH=/usr/local/rvm/gems/ruby-1.9.3-p551:/usr/local/rvm/gems/ruby-1.9.3-p551@global GEM_HOME=/usr/local/rvm/gems/ruby-1.9.3-p551
Установите переменные среды GEM_HOME и GEM_PATH: теперь установите эти переменные среды в одном из многих файлов профиля. Я хотел сохранить структуру изоляции версий RVM, поэтому я обновил /profile.d/appspecific.sh с помощью следующих двух строк:
export GEM_PATH=/usr/local/rvm/gems/ruby-1.9.3-p551:/usr/local/rvm/gems/ruby-1.9.3-p551@global export GEM_HOME=/usr/local/rvm/gems/ruby-1.9.3-p551
источник
Я обнаружил, что .profile загружается последним, и это ставит ~ / .local / bin и ~ / bin впереди пути. Я переместил /etc/profile.d/rvm.sh в ~ / .rvm и в самом конце .profile добавил «source ~ / .rvm / rvm.sh», и ошибка исчезла. Я на Linux Mint 18.3. У меня установлены pyenv, rvm и sdkman, и все они хотят быть последними. Теперь они все работают нормально. :)
Если это общая система, просто переместите rvm.sh куда-нибудь из пути, и любой другой пользователь может получить его, например, из /opt/rvm/rvm.sh.
источник
Как упомянуто @coteyr, вы не должны вручную устанавливать GEM_HOME и GEM_PATH при использовании
rvm
. Если вы проверили переменную среды PATH, запустив$ echo $PATH
и включив в нее $ HOME / .rvm / bin, вам нужно убедиться, что ваш терминал выполняет команды в качестве оболочки входа в систему. Например, если вы работаете на машине с Ubuntu, вы открываете свой терминал, затем идете в: меню> Правка> Настройки профиля> Команда и затем выбираете «Выполнить команду как оболочку входа»Похоже, это старая проблема, с
rvm
которой, как я полагаю, ее нетривиально решить, поскольку она существует уже давно.источник
Для
$GEM_PATH
заполнения моей системы (Manjaro / Arch)gems
я добавил в свой.bashrc
:источник