Назад | Перейти на главную страницу

Пассажир не позволяет Bundler видеть мои драгоценные камни git

Я пытаюсь развернуть приложение Rails 3.1 на сервере Ubuntu 11.04, на котором запущены nginx-1.0.0 и пассажир-3.0.7.

Я установил 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. Bundler сообщает, что они установлены, они находятся в каталоге гемов RVM, но Passenger выдает ошибку:

git@my-domain.com:my-gem (at master) is not checked out. Please run `bundle install` (Bundler::GitError)

Бег rails console из каталога развертывания работает нормально. Что мне не хватает?

Изменен сценарий развертывания для использования bundle install --deployment, то --deployment опция устанавливает драгоценные камни в vendor/bundle вместо системного каталога.