Я хочу иметь возможность запускать rails console
в приложении, установленном вместе с Capistrano(3).
Итак, я добавил gem 'capistrano-rails-console', require: false
в gemfile
следующее в файле deploy.rb
server 'ip', port: 2, user: 'user', roles: [:web, :app, :db], primary: true
и следующее в Capfile require 'capistrano/rails/console'
Проблема в том, что cap production rails:console
приводит к следующей ошибке
00:00 rails:console
01 $HOME/.rbenv/bin/rbenv exec bundle exec rails console -e production
Traceback (most recent call last):
3: from bin/rails:7:in `<main>'
2: from bin/rails:7:in `load'
1: from /_some_path_/releases/20210808154555/bin/spring:14:in `<top (required)>'
/home/_user_/.rbenv/versions/2.7.2/lib/ruby/2.7.0/bundler/rubygems_integration.rb:346:in `block (2 levels) in replace_gem': spring is not part of the bundle. Add it to your Gemfile. (Gem::LoadError)
Как это исправить?
У меня он в группе разработки по умолчанию. Но, как я уже заметил, я хочу запустить
rails console
в продакшене.cap production rails:console
И, как я понимаю, весна не должна использоваться в производствеТаким образом, он должен быть в группе
production
или вне группы. Вероятно, есть веская причина, по которой он обычно не запускается в производственной среде, поэтому могут быть некоторые побочные эффекты. В качестве альтернативы (и это лучше) вы можете удалить его из разработки или подавить при запуске консоли. FWIW, Spring доставил мне много проблем, поэтому я предпочитаю его не использовать.кстати
DISABLE_SPRING=true
не работает. Мне пришлось полностью удалить его из gemfile