Многопользовательский RVM и отсутствующий каталог ~/.rvm

Я только что установил RVM в многопользовательском режиме. Было приложение (GitLab), ранее установленное в однопользовательском режиме, но мне нужно было переустановить RVM для поддержки нескольких пользователей.

Проблема в том, что теперь приложение выдает ошибку

/usr/bin/env: /home/git/.rvm/bin/ruby: нет такого файла или каталога

здесь и там почти всегда, когда я пытаюсь запустить любую команду с rake/bundle/rails. Есть ли способ изменить это где-то в конфигурации, чтобы мое приложение искало рубин по правильному пути (который находится в /usr/local/rvm/bin/ruby), или мне нужно создать символическую ссылку или, что еще хуже, отредактировать каждый путь в моем приложении?


person mbajur    schedule 15.08.2013    source источник


Ответы (2)


Я предполагаю, что вы не хотите использовать как общесистемные, так и однопользовательские установки RVM одновременно с одним и тем же пользователем. Я не уверен, что это невозможно, но я совершенно уверен, что это хорошая идея.

Пользователь, который запускает ваше приложение, должен быть уверен, что он не загружает в любой момент своего входа в систему файл $HOME/.rvm/scripts/rvm. Мы надеемся, что это заставит его загрузить общесистемную установку, и это должно работать нормально. Вам нужно найти, где это загружается, наиболее очевидными кандидатами являются .bashrc, .bash_profile и .bash_alias и .profile, а также системные версии этих файлов, если они не существуют в доме пользователя. Вы можете проверить эту ссылку для получения дополнительной информации об этом.

Теперь, если вы хотите быть хорошим мальчиком, я бы посоветовал вообще не хранить обе установки в одной системе. Удалите общесистемную установку и используйте обычную установку. Затем вам нужно будет снова загрузить, скомпилировать и собрать gitlab, но в конечном итоге это сработает.

person fotanus    schedule 15.08.2013
comment
На самом деле я вынужден запускать эти два приложения на одном компьютере. Один использует 1.8.7, второй 2.0.0. Во всяком случае, мне удалось исправить это, создав символическую ссылку. Вероятно, это действительно грязное исправление, но оно работает. У меня нет ничего, связанного с rvm в упомянутых файлах bash. Спасибо за ответ в любом случае :) - person mbajur; 16.08.2013

Мне удалось исправить это, создав символическую ссылку:

sudo ln -s /usr/local/rvm/ /home/git/.rvm

Я думаю, это действительно грязно, поэтому любые лучшие решения приветствуются.

person mbajur    schedule 15.08.2013