RVM & Unicorn развернуть - PullRequest
       21

RVM & Unicorn развернуть

7 голосов
/ 06 июня 2011

Мой RVM установлен как root.Когда я пытаюсь запустить сокет единорога, он печатает

user@9001-3:~$ /etc/init.d/unicorn start
Starting myapp app: /usr/bin/env: ruby: No such file or directory
unicorn.

Но если я наберу

user@9001-3:~$ ruby -v
ruby 1.9.2p180 (2011-02-18 revision 30909) [x86_64-linux]

/usr/local/rvm/gems/ruby-1.9.2-p180/bin/unicorn путь существует.

Моя конфигурация единорога:https://gist.github.com/1010519

Ответы [ 4 ]

10 голосов
/ 08 июня 2011

/etc/init.d/unicorn не знает, где найти Ruby, потому что он управляется через RVM. Обычно ваш .bashrc или подобный файл выполняется и настраивает среду; это не происходит в сценариях инициализации (или, вероятно, во всех других случаях, выполняемых пользователем root).

Решение - использовать обертки. Например, чтобы создать двоичный файл с именем system_ruby, который загружает среду RVM 1.9.2p180 и , затем выполняет ruby, выполните следующее:

rvm wrapper ruby-1.9.2-p180 system ruby

Для получения дополнительной информации и более подробной информации, ознакомьтесь с моим ответом , в котором рассматривается аналогичная проблема.

1 голос
/ 27 марта 2012

Симлинк тоже работает,

which ruby<your version>
ln-s /ruby/path/ruby<your version> /ruby/path/ruby
0 голосов
/ 06 мая 2012

У меня была такая же проблема, и это для меня

rvm --default use <version>
0 голосов
/ 08 июня 2011

Введите: which ruby (укажите путь к корзине ruby), затем введите: ln -s (change_to_ruby_path) /usr/bin/env/ruby (создайте правильный доступ для вашей системы)

...