passenger-install-apache2-module命令失败

时间:2015-03-23 14:51:47

标签: ruby-on-rails passenger ubuntu-14.04

我正在使用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路径,也许这甚至不是问题。谢谢!

2 个答案:

答案 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

当我从控制台运行它时,它起作用了。