rvm / usr / bin / env: ruby ​​нет такой ошибки файла

Я установил rvm + ruby ​​для всей системы.

which ruby
/usr/local/rvm/rubies/ruby-2.1.1/bin/ruby

и:

/usr/bin/env: ruby: No such file or directory

Все остальное работает нормально, а прямой путь ruby ​​в моих исполняемых файлах работает нормально.

7
задан 18 April 2014 в 16:25

4 ответа

ПУТЬ что env использование программы для поиска исполняемых файлов. Можно изменить это в расчете на пользователя (в $HOME/.bashrc). Чтобы сделать это, работайте nano $HOME/.bashrc и перейдите к последней строке, добавьте новую строку

export PATH=$PATH:/usr/local/rvm/rubies/ruby-2.1.1/bin

Для изменения, она в системе выравнивает Вас sudo nano /etc/login.defs и изменяет эту строку

ENV_PATH        PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

к

ENV_PATH        PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/usr/local/rvm/rubies/ruby-2.1.1/bin
0
ответ дан 18 April 2014 в 16:25

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

/usr/bin/env ruby дает Вам возможность использовать версию Ruby по Вашему выбору, таким образом, Вы не должны редактировать исполняемые сценарии оболочки (в /bin) с трудным кодированным путем к каталогу, чтобы заставить их работать (я рассматривал это как предложенное исправление в другом месте).

, Как отмечено в ответах выше, ключ $PATH установка в /etc/environment, но я предложил различное решение.

RVM дает нам каталог символьной ссылки всех установленных рубиновых версий и псевдонимов в /usr/local/rvm/wrappers/.

при установке Вашего $PATH var для использования каталога обертки, связанного с версией Ruby Вы хотите использовать, например,

PATH="/usr/local/rvm/wrappers/ruby-1.9.3-p547:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"

Вы установите среду RVM, таким образом, что /usr/bin/env ruby_command будет работать.

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

0
ответ дан 18 April 2014 в 16:25

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

cd/usr/bin/env

линия-s/usr/local/rvm/rubies/ruby-2.1.1/bin/ruby

0
ответ дан 18 April 2014 в 16:25

Я добрался, та же ошибка

#!/usr/bin/env ruby в верхней части моего сценария приводит к

rvm /usr/bin/env: ruby no such file error

, если я выполняю сценарий.

Мое решение было так же просто как трудно найти:

кодирование переводов строки в моем сценарии / редактор исходного кода было установлено на "стиль окон (CR + LF)".

После переключения его к "стилю Unix (LF)" и сохранению моего сценария снова, ошибки не стало.

Кажется, что знак Возврата каретки (CR) был оставлен позади "рубин", таким образом, нет никакого ruby filname.script, но ruby\R filename.script, который приводит к ошибке.

0
ответ дан 18 April 2014 в 16:25
  • 1
    Вы не должны обязательно быть корнем для вызова MySQL. – Yufenyuy Veyeh Dider 21 June 2018 в 04:46

Другие вопросы по тегам:

Похожие вопросы: