Ruby on Rails 3 - RVM & Unicorn deploy



我的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

/etc/init.d/unicorn不知道在哪里可以找到Ruby,因为它是通过RVM管理的。通常,执行.bashrc或类似文件并设置环境;这在init脚本(或者root执行的任何其他脚本)中都不会发生。

解决方案是使用包装器。例如,要创建一个名为system_ruby的二进制文件,加载RVM的1.9.2p180环境,然后执行ruby,请执行以下操作:

rvm wrapper ruby-1.9.2-p180 system ruby

要了解更多信息和细节,请查看我的这个答案,它解决了一个类似的问题。

Symlink也适用,

which ruby<your version>
ln-s /ruby/path/ruby<your version> /ruby/path/ruby

类型:which ruby(显示ruby bin路径),然后键入:ln -s (change_to_ruby_path) /usr/bin/env/ruby(为系统构建正确的访问权限)

我遇到了同样的问题,这对我来说是

rvm --default use <version>

相关内容

  • 没有找到相关文章

最新更新