passenger-install-apache2-module 命令失败

passenger-install-apache2-module command fails

我正在使用 Ubuntu 14.04 x32,我正在按照 "Agile Web Development with Rails 4" 书中的步骤使用 RVM 设置我的服务器。我已经到了需要安装 passenger 的部分,但 运行 遇到了问题。

当我执行 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 路径,也许这甚至不是问题所在。谢谢!

我在这里找到了这个页面...https://github.com/projecthydra-labs/hydradam/wiki/Installation:-Apache-&-Passenger

他们建议输入 gem 的路径。环顾四周后,我发现 gem 位于...

/usr/local/rvm/gems/ruby-2.2.1/gems/passenger-5.0.4/bin/passenger-install-apache2-module

当我 运行 从控制台运行它时。

尝试输入:

rvmsudo passenger-install-apache2-module

原因:

操作系统使用 PATH 环境变量查找命令。但是,sudo 将所有环境变量重置为默认值,由 sudo 指定。如果 Passenger 安装到不在默认 sudo PATH 值中的位置,则 sudo 将无法找到 Passenger 命令。

此外,如果您使用通过 RVM 安装的 Ruby 解释器安装 Passenger,则必须使用 rvmsudo 而不是 sudo。通常,当您是 RVM 用户时,请始终使用 rvmsudo 而不是 sudo。