【问题标题】:Running rails 7 tasks prompts debug console运行 rails 7 任务提示调试控制台
【发布时间】:2022-07-19 09:41:37
【问题描述】:

Amazon Linux 2 机器上部署 Rails 7 应用程序时,我注意到正在运行: bundle exec rails db:migratebundle exec rails edit:credentials 但不是 bundle exec rails c -e production,它只是提示 rdb 控制台:

[ec2-user@ip-172-31-86-136 current]$ bundle exec rake edit:credentials
/home/ec2-user/.rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/net/protocol.rb:66: warning: already initialized constant Net::ProtocRetryError
/home/ec2-user/production/gw_outsourcing_backend/releases/7/vendor/bundle/ruby/2.7.0/gems/net-protocol-0.1.2/lib/net/protocol.rb:68: warning: previous definition of ProtocRetryError was here
/home/ec2-user/.rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/net/protocol.rb:206: warning: already initialized constant Net::BufferedIO::BUFSIZE
/home/ec2-user/production/gw_outsourcing_backend/releases/7/vendor/bundle/ruby/2.7.0/gems/net-protocol-0.1.2/lib/net/protocol.rb:208: warning: previous definition of BUFSIZE was here
/home/ec2-user/.rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/net/protocol.rb:503: warning: already initialized constant Net::NetPrivate::Socket
/home/ec2-user/production/gw_outsourcing_backend/releases/7/vendor/bundle/ruby/2.7.0/gems/net-protocol-0.1.2/lib/net/protocol.rb:504: warning: previous definition of Socket was here
/home/ec2-user/.rvm/rubies/ruby-2.7.0/lib/ruby/2.7.0/aarch64-linux/continuation.so: warning: callcc is obsolete; use Fiber instead
Debug.rb
Emacs support available.

/path/to/my/app/releases/7/config/application.rb:9:module RailsAppName
(rdb:1) 

rails c -e production 不会运行,因为我必须先创建我的凭据;但我无法创建凭据或迁移数据库,因为它会提示该控制台。

这是我的 Gemfile:

source "https://rubygems.org"
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

ruby "2.7.0"
gem 'dotenv-rails'
gem "rails", "~> 7.0.0"
gem 'puma', '~> 4.1'
gem 'pg', '>= 0.18', '< 2.0'
gem 'devise'
gem 'jwt'
# Reduces boot times through caching; required in config/boot.rb
# gem "bootsnap", require: false
gem 'rollbar'
gem 'byebug'
gem 'kaminari'
gem 'mina'

# Use Active Storage variants [https://guides.rubyonrails.org/active_storage_overview.html#transforming-images]
# gem "image_processing", "~> 1.2"

# Use Rack CORS for handling Cross-Origin Resource Sharing (CORS), making cross-origin AJAX possible
gem "rack-cors"

group :development, :test do
  # See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem
  gem "debug", platforms: %i[ mri mingw x64_mingw ]
end

group :development do
  # Speed up commands on slow machines / big apps [https://github.com/rails/spring]
  # gem "spring"
end

如何使迁移和凭据编辑命令正常工作,为什么控制台会提示?

【问题讨论】:

    标签: ruby-on-rails ruby amazon-ec2 rubygems


    【解决方案1】:

    通过仔细查看 Gemfile,我发现 byebug gem 不在开发组中。我将其移至开发组,任务开始工作。 byebug gem 在生产环境中不起作用,因此它失败了,但没有明确输出原因。

    经验教训,不要在生产中使用 byebug

    【讨论】:

      猜你喜欢
      • 2012-06-28
      • 1970-01-01
      • 1970-01-01
      • 2016-04-03
      • 1970-01-01
      • 1970-01-01
      • 2011-06-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多