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。
我正在使用 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。