【发布时间】:2014-07-07 02:57:57
【问题描述】:
我的 RoR 应用无法启动,出现错误:
看起来 Bundler 找不到 gem。可能你没有安装 此应用程序需要的所有宝石。要安装您的 gem,请 运行:
捆绑安装
如果这不起作用,那么问题可能是由您的 应用程序在与预期不同的环境下运行 到。请检查以下内容:
Is this app supposed to be run as the railsapp user? Is this app being run on the correct Ruby interpreter? Below you will see which Ruby interpreter Phusion Passenger attempted to use.
和
Ruby interpreter command
/usr/bin/ruby1.8
文件 config/environment.rb 归 railsapp 用户所有。 我使用 rbenv,并安装了 ruby 版本 2.1.1 作为全局版本。 我使用捆绑器来安装 gem 依赖项。没关系。
看来,phusion 乘客选择了错误的 ruby 版本(至少不是我使用 rbenv 安装为全局的那个)。
如何让 Phusion 乘客使用 rbenv 安装的 ruby 版本编译 mod_rails?
当我运行:passenger-install-apache2-module 时,我注意到它从 ubuntu 获取了系统安装的 ruby 版本:
* Checking for Ruby development headers...
Found: yes
Location: /usr/lib/ruby/1.8/i486-linux/ruby.h
但是'which ruby'作为 railsapp 用户给出了这个:
/home/railsapp/.rbenv/shims/ruby
我的gem环境是这样的:
RubyGems Environment:
- RUBYGEMS VERSION: 2.2.2
- RUBY VERSION: 2.1.1 (2014-02-24 patchlevel 76) [i686-linux]
- INSTALLATION DIRECTORY: /home/railsapp/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0
- RUBY EXECUTABLE: /home/railsapp/.rbenv/versions/2.1.1/bin/ruby
- EXECUTABLE DIRECTORY: /home/railsapp/.rbenv/versions/2.1.1/bin
- SPEC CACHE DIRECTORY: /home/railsapp/.gem/specs
- RUBYGEMS PLATFORMS:
- ruby
- x86-linux
- GEM PATHS:
- /home/railsapp/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0
- /home/railsapp/.gem/ruby/2.1.0
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- https://rubygems.org/
- SHELL PATH:
- /home/railsapp/.rbenv/versions/2.1.1/bin
- /etc/rbenv/libexec
- /home/railsapp/.rbenv/shims
- /etc/rbenv/bin
- /usr/local/sbin
- /usr/local/bin
- /usr/sbin
- /usr/bin
- /sbin
- /bin
- /usr/games
【问题讨论】:
标签: ruby-on-rails-3 gem passenger