我的RVM是以root用户身份安装的。当我尝试启动unicorn套接字时,它打印
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
发布于 2011-06-09 02:06:58
/etc/init.d/unicorn不知道到哪里去找Ruby,因为它是通过RVM管理的。通常,您的.bashrc或类似文件会被执行并设置环境;这不会发生在初始化脚本(或可能由根执行的任何其他脚本)中。
解决方案是使用包装器。例如,要创建一个名为system_ruby的二进制文件,该文件加载RVM的1.9.2p180环境,然后执行ruby,请执行以下命令:
rvm wrapper ruby-1.9.2-p180 system ruby有关更多信息和更多细节,请查看this answer of mine,它解决了类似的问题。
发布于 2012-03-27 13:54:10
Symlink也可以工作,
which ruby<your version>
ln-s /ruby/path/ruby<your version> /ruby/path/ruby发布于 2011-06-08 20:57:38
输入:which ruby (显示ruby bin路径),然后输入:ln -s (change_to_ruby_path) /usr/bin/env/ruby (为您的系统构造正确的访问权限)
https://stackoverflow.com/questions/6254782
复制相似问题