Рельсы: Не удается запустить консоль рельсов в производстве - PullRequest
0 голосов
/ 30 января 2020

В настоящее время я использую Rails 5.2.3 и Ruby 2.5.0 в приложении, работающем на рабочем сервере Ubuntu 18.04, но когда я запускаю команду

rails c --environment=production

командный терминал застревает, и я должен прервать процесс, удерживая клавиши Ctrl + C вместе.

Однако выводит ошибку ниже:

^CTraceback (most recent call last):
    16: from bin/rails:3:in `<main>'
    15: from bin/rails:3:in `load'
    14: from /home/deploy/myapp/bin/spring:15:in `<top (required)>'
    13: from /home/deploy/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:72:in `require'
    12: from /home/deploy/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:72:in `require'
    11: from /home/deploy/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/binstub.rb:31:in `<top (required)>'
    10: from /home/deploy/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/binstub.rb:31:in `load'
     9: from /home/deploy/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/bin/spring:49:in `<top (required)>'
     8: from /home/deploy/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/client.rb:30:in `run'
     7: from /home/deploy/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/client/command.rb:7:in `call'
     6: from /home/deploy/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/client/rails.rb:24:in `call'
     5: from /home/deploy/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/client/command.rb:7:in `call'
     4: from /home/deploy/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/client/run.rb:35:in `call'
     3: from /home/deploy/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/client/run.rb:42:in `warm_run'
     2: from /home/deploy/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/client/run.rb:62:in `run'
     1: from /home/deploy/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/client/run.rb:117:in `verify_server_version'
/home/deploy/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/spring-2.0.2/lib/spring/client/run.rb:117:in `gets': Interrupt

Я пробовал несколько решений, но пока что ни одно из них не работает, я был бы признателен за помощь.

1 Ответ

0 голосов
/ 30 января 2020

Эта проблема связана с гемом spring , который предварительно загружает приложение rails в фоновом режиме, однако не рекомендуется запускать его в рабочей среде

Вот как я решена проблема:

Я установил / переустановил пружину самоцвет:

gem install spring

Я затем поднял пружину (снял пружину gem from) bin/ исполняемых файлов:

bin/spring binstub --remove --all

или

spring binstub --remove --all

Теперь вы можете запустить приведенную ниже команду, чтобы войти в консоль rails в рабочей среде

rails c --environment=production

Кроме того, во избежание этого в следующих случаях постарайтесь убедиться, что камень spring присутствует только в группах development и test в вашем Gemfile.

Moreso, когда вы работаете, убедитесь, что вы всегда предоставляете аргумент --without development test для команды bundle install

bundle install --without development test

, а не обычный или обычный

bundle install
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...