Passenger 阻止 Bundler 查看我的 git gem

Passenger 阻止 Bundler 查看我的 git gem

我正在尝试将 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从部署目录运行正常。我遗漏了什么?

答案1

更改部署脚本以使用bundle install --deployment,该--deployment选项将 gem 安装到vendor/bundle系统目录中而不是系统中。

相关内容