我试图将Rails 3.1应用程序部署到运行nginx-1.0.0和passenger-3.0.7的Ubuntu 11.04服务器上
我有一个系统级的RVM安装在/usr/local/rvm/gems/ruby-1.9.2-p180
我的nginx.conf如下所示:
http { passenger_root /usr/local/rvm/gems/ruby-1.9.2-p180/gems/passenger-3.0.7; passenger_ruby /usr/local/rvm/wrappers/ruby-1.9.2-p180/ruby; # ... server { listen 80; server_name my-domain.com; root /srv/www/my_project/current/public; passenger_enabled on; rails_env production; } }
问题是我的Gemfile中有两个指向git repos的gem。 Bundler说他们已经安装了,它们出现在RVM的gem目录下,但是Passenger会抛出一个错误:
[email protected]:my-gem (at master) is not checked out. Please run `bundle install` (Bundler::GitError)
从部署目录运行rails console工作正常。 我错过了什么?
更改了部署脚本以使用bundle install --deployment , --deployment deployment选项将gem安装到vendor/bundle而不是系统目录中。