Capistrano/rails не работает с rvm

Я пытаюсь развернуть приложение Rails с capistrano. Это на основе Rails 5.1. Версия Ruby управляется rvm. Я использую ruby ​​2.2.3, созданный gemset вручную. Вот так это deploy.rb

set :rvm_type, :user
set :rvm_ruby_version, '2.2.3@cardlove-api'
...
with RAILS_ENV: fetch(:environment) do
  execute :rake, "webpacker:install"
end

Так что, похоже, работает, когда Rails < 5.0. Но когда Rails > 5.0, webpack должен быть установлен этой командой:

bundle exec rails webpacker:install (вместо граблей в пачке)

with RAILS_ENV: fetch(:environment) do
  execute :rails, "webpacker:install"
end

Но это не работает для меня. Я установил комплект в наборе гемс, который я использую, но получаю ошибку:

01 bundle exec rails webpacker:install
01 bash: bundle: command not found
(Backtrace restricted to imported tasks)
cap aborted!
SSHKit::Runner::ExecuteError: Exception while executing as user@IP: rails 
  exit status: 127
  rails stdout: Nothing written
  rails stderr: bash: bundle: command not found

Конечно, я включил capistrano/rails в мой файл capfile.

capistrano/rvm
capistrano/rails

Я не уверен, почему я получаю ошибку. Я думаю, что я настроил правильно, но... В любом случае, вы хотите помочь мне решить эту проблему?

1 ответ

Решение

Вы можете использовать https://github.com/capistrano/bundler

Другие вопросы по тегам