Мы используем rvm на наших серверах, и я просто обновился до Ruby 2.3.1. Теперь, когда я пытаюсь развернуть наш проект на промежуточном сервере я получаю сообщение об ошибке:
** DEPLOY FAILED
** Refer to log/capistrano.log for details. Here are the last 20 lines:
DEBUG [49e3047b] Finished in 0.269 seconds with exit status 0 (successful).
INFO [96bd9c75] Running ~/.rvm/bin/rvm default do bundle exec rake gettext:pack as [email protected]ginx-stage.webit.local
DEBUG [96bd9c75] Command: cd /home/deployer/PROJECTNAME/current && (export RAILS_ENV="production" ; ~/.rvm/bin/rvm default do bundle exec rake gettext:pack)
DEBUG [96bd9c75] /home/deployer/.rvm/gems/[email protected]/gems/bundler-1.12.5/lib/bundler/spec_set.rb:95:in `block in materialize'
DEBUG [96bd9c75] :
DEBUG [96bd9c75] Could not find rake-11.1.2 in any of the sources
DEBUG [96bd9c75] (
DEBUG [96bd9c75] Bundler::GemNotFound
DEBUG [96bd9c75] )
DEBUG [96bd9c75] from /home/deployer/.rvm/gems/[email protected]/gems/bundler-1.12.5/lib/bundler/spec_set.rb:88:in `map!'
DEBUG [96bd9c75] from /home/deployer/.rvm/gems/[email protected]/gems/bundler-1.12.5/lib/bundler/spec_set.rb:88:in `materialize'
DEBUG [96bd9c75] from /home/deployer/.rvm/gems/[email protected]/gems/bundler-1.12.5/lib/bundler/definition.rb:140:in `specs'
DEBUG [96bd9c75] from /home/deployer/.rvm/gems/[email protected]/gems/bundler-1.12.5/lib/bundler/definition.rb:185:in `specs_for'
DEBUG [96bd9c75] from /home/deployer/.rvm/gems/[email protected]/gems/bundler-1.12.5/lib/bundler/definition.rb:174:in `requested_specs'
DEBUG [96bd9c75] from /home/deployer/.rvm/gems/[email protected]/gems/bundler-1.12.5/lib/bundler/environment.rb:19:in `requested_specs'
DEBUG [96bd9c75] from /home/deployer/.rvm/gems/[email protected]/gems/bundler-1.12.5/lib/bundler/runtime.rb:14:in `setup'
DEBUG [96bd9c75] from /home/deployer/.rvm/gems/[email protected]/gems/bundler-1.12.5/lib/bundler.rb:95:in `setup'
DEBUG [96bd9c75] from /home/deployer/.rvm/gems/[email protected]/gems/bundler-1.12.5/lib/bundler/setup.rb:19:in `<top (required)>'
DEBUG [96bd9c75] from /home/deployer/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
DEBUG [96bd9c75] from /home/deployer/.rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
Это очень странно, потому что Gemfile.lock
имеет рейк в версии 11.2.2
! Когда я ssh на промежуточном сервере и делаю руководство bundle install
, все работает нормально. Это .bundle/config
файл на промежуточном сервере:
---
BUNDLE_FROZEN: '1'
BUNDLE_PATH: "/home/deployer/PROJECTNAME/shared/bundle"
BUNDLE_WITHOUT: development:test
BUNDLE_DISABLE_SHARED_GEMS: true
Я обновил Capistrano, Bundler, пассажирские и Nginx, но я просто не могу заставить его работать. Я также удалил /home/deployer/PROJECTNAME/shared/bundle
без каких-либо изменений. Странно после запуска другого развертывания он создал /home/deployer/PROJECTNAME/shared/bundle/ruby/2.3.0/bundler
. См. 2.3.0
? Но версия Ruby, которую я установил, - 2.3.1
!
Зачем ему искать в любом случае неправильную версию рейка? Я действительно не знаю, что происходит. Черт возьми, Джим, я разработчик программного обеспечения, а не системный администратор!
Редактировать: Я сдал и фактически написал грабли версии 11.1.2
в Gemfile
. Теперь я получаю то же сообщение, но для активов:
Could not find activesupport-4.2.6 in any of the sources
WTF Продолжается? Почему все эти старые версии? Я не хочу их!
Возможно ли, что версия Ruby и/или rvm gemset, которую вы используете для 'bundle install', отличается от того, когда вы запускаете' bundle exec'? Может быть, 'bundle exec ruby -v' и' bundle exec gem list' даст некоторые подсказки. –
Выход журнала имеет правильную версию Ruby как часть пути команды. – panzi