我正在使用Ubuntu 14.04 x32,我正在按照“使用Rails 4进行Agile Web开发”一书中的步骤来使用RVM设置我的服务器。我已经到了需要安装乘客的地方,我遇到了一个问题。
当我执行有效的gem install passenger --version 4.0.8
时,然后它执行passenger-install-apache2-module
的下一个命令失败并出现以下错误。
/usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/dependency.rb:315:in `to_specs': Could not find 'passenger' (>= 0) among 60 total gem(s) (Gem::LoadError)
Checked in 'GEM_PATH=/home/rails/vendor/bundle/ruby/2.2.0', execute `gem env` for more information
from /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/dependency.rb:324:in `to_spec'
from /usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_gem.rb:64:in `gem'
from /usr/local/rvm/gems/ruby-2.2.1/bin/passenger-install-apache2-module:22:in `<main>'
from /usr/local/rvm/gems/ruby-2.2.1/bin/ruby_executable_hooks:15:in `eval'
from /usr/local/rvm/gems/ruby-2.2.1/bin/ruby_executable_hooks:15:in `<main>'
我按照提到的gem env
命令查看了更多信息,似乎“GEM_PATH”不同。
命令检查/home/rails/vendor/bundle/ruby/2.2.0
。
gem env
将GEM_PATH声明为/usr/local/rvm/gems/ruby-2.2.1
我不确定是否或如何更改路径以匹配2.2.1路径,也许这甚至不是问题。谢谢!
答案 0 :(得分:2)
尝试输入:
rvmsudo passenger-install-apache2-module
原因:
操作系统使用PATH环境变量查找命令。但是,sudo将所有环境变量重置为默认值,由sudo指定。如果Passenger安装到不在默认sudo PATH值中的位置,则sudo将无法找到Passenger命令。
此外,如果使用通过RVM安装的Ruby解释器安装Passenger,则必须使用rvmsudo而不是sudo。通常,当您是RVM用户时,请始终使用rvmsudo而不是sudo。
答案 1 :(得分:1)
我在这里找到了这个页面... https://github.com/projecthydra-labs/hydradam/wiki/Installation:-Apache-&-Passenger
他们建议输入gem的路径。环顾四周后,我发现宝石位于......
/usr/local/rvm/gems/ruby-2.2.1/gems/passenger-5.0.4/bin/passenger-install-apache2-module
当我从控制台运行它时,它起作用了。