请帮我,我已经完成了11章的Rails教程,将我的应用程序部署到了Heroku(在本地它运行良好),并且一直崩溃。我正在使用Rails 5.2.2 执行命令$ heroku后,运行rails console我收到此消息:
Traceback (most recent call last):
92: from /app/bin/rails:9:in `<main>'
91: from /app/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:291:in `require'
90: from /app/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:257:in `load_dependency'
89: from /app/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:291:in `block in require'
88: from /app/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:29:in `require'
87: from /app/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:20:in `require_with_bootsnap_lfi'
86: from /app/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/loaded_features_index.rb:65:in `register'
85: from /app/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `block in require_with_bootsnap_lfi'
84: from /app/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `require'
83: from /app/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/commands.rb:18:in `<main>'
82: from /app/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/command.rb:46:in `invoke'
81: from /app/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/command/base.rb:65:in `perform'
80: from /app/vendor/bundle/ruby/2.5.0/gems/thor-0.20.3/lib/thor.rb:387:in `dispatch'
6: from /app/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/encrypted_configuration.rb:21:in `read'
5: from /app/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/encrypted_file.rb:42:in `read'
4: from /app/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/encrypted_file.rb:79:in `decrypt'
3: from /app/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/messages/rotator.rb:21:in `decrypt_and_verify'
2: from /app/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/message_encryptor.rb:157:in `decrypt_and_verify'
1: from /app/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/message_encryptor.rb:183:in `_decrypt'
/app/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/message_encryptor.rb:206:in `rescue in _decrypt': ActiveSupport::MessageEncryptor::InvalidMessage (ActiveSupport::MessageEncryptor::InvalidMessage)
我也已经阅读了Running a rails server in production locally (InvalidMessage error)主题,还没有在我的PC上找到文件master.key和certificate.yml.enc。
这也是我的生产配置:
Rails.application.configure do
# Settings specified here will take precedence over those in config/application.rb.
# Code is not reloaded between requests.
config.cache_classes = true
# Eager load code on boot. This eager loads most of Rails and
# your application in memory, allowing both threaded web servers
# and those relying on copy on write to perform better.
# Rake tasks automatically ignore this option for performance.
config.eager_load = true
# Full error reports are disabled and caching is turned on.
config.consider_all_requests_local = false
config.action_controller.perform_caching = true
# Ensures that a master key has been made available in either ENV["RAILS_MASTER_KEY"]
# or in config/master.key. This key is used to decrypt credentials (and other encrypted files).
# config.require_master_key = true
# Disable serving static files from the `/public` folder by default since
# Apache or NGINX already handles this.
config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?
# Compress JavaScripts and CSS.
config.assets.js_compressor = :uglifier
# config.assets.css_compressor = :sass
# Do not fallback to assets pipeline if a precompiled asset is missed.
config.assets.compile = false
# `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb
# Enable serving of images, stylesheets, and JavaScripts from an asset server.
# config.action_controller.asset_host = 'http://assets.example.com'
# Specifies the header that your server uses for sending files.
# config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache
# config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX
# Store uploaded files on the local file system (see config/storage.yml for options)
config.active_storage.service = :local
# Mount Action Cable outside main process or domain
# config.action_cable.mount_path = nil
# config.action_cable.url = 'wss://example.com/cable'
# config.action_cable.allowed_request_origins = [ 'http://example.com', /http:\/\/example.*/ ]
# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
config.force_ssl = true
# Use the lowest log level to ensure availability of diagnostic information
# when problems arise.
config.log_level = :debug
# Prepend all log lines with the following tags.
config.log_tags = [ :request_id ]
# Use a different cache store in production.
# config.cache_store = :mem_cache_store
# Use a real queuing backend for Active Job (and separate queues per environment)
# config.active_job.queue_adapter = :resque
# config.active_job.queue_name_prefix = "sample_app_#{Rails.env}"
config.action_mailer.perform_caching = false
# Ignore bad email addresses and do not raise email delivery errors.
# Set this to true and configure the email server for immediate delivery to raise delivery errors.
# config.action_mailer.raise_delivery_errors = false
# Enable locale fallbacks for I18n (makes lookups for any locale fall back to
# the I18n.default_locale when a translation cannot be found).
config.i18n.fallbacks = true
# Send deprecation notices to registered listeners.
config.active_support.deprecation = :notify
# Use default logging formatter so that PID and timestamp are not suppressed.
config.log_formatter = ::Logger::Formatter.new
# Use a different logger for distributed setups.
# require 'syslog/logger'
# config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new 'app-name')
if ENV["RAILS_LOG_TO_STDOUT"].present?
logger = ActiveSupport::Logger.new(STDOUT)
logger.formatter = config.log_formatter
config.logger = ActiveSupport::TaggedLogging.new(logger)
end
config.action_mailer.raise_delivery_errors = true
config.action_mailer.delivery_method = :smtp
host = 'calm-spire-36002.herokuapp.com'
config.action_mailer.default_url_options = { host: host }
ActionMailer::Base.smtp_settings = {
:address => 'smtp.sendgrid.net',
:port => '587',
:authentication => :plain,
:user_name => ENV['SENDGRID_USERNAME'],
:password => ENV['SENDGRID_PASSWORD'],
:domain => 'heroku.com',
:enable_starttls_auto => true
}
# Do not dump schema after migrations.
config.active_record.dump_schema_after_migration = false
end
并且在部署到heroku时收到这些错误:
Counting objects: 23, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (23/23), done.
Writing objects: 100% (23/23), 2.17 KiB | 1.08 MiB/s, done.
Total 23 (delta 16), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Ruby app detected
remote: -----> Compiling Ruby/Rails
remote: -----> Using Ruby version: ruby-2.5.3
remote: -----> Installing dependencies using bundler 1.15.2
remote: Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin -j4 --deployment
remote: Your Gemfile lists the gem pg (>= 0) more than once.
remote: You should probably keep only one of them.
remote: While it's not a problem now, it could cause errors if you change the version of one of them later.
remote: Warning: the running version of Bundler (1.15.2) is older than the version that created the lockfile (1.17.2). We suggest you upgrade to the latest version of Bundler by running `gem install bundler`.
remote: Fetching gem metadata from https://rubygems.org/.........
remote: Fetching version metadata from https://rubygems.org/..
remote: Fetching dependency metadata from https://rubygems.org/.
remote: Using rake 12.3.2
remote: Using concurrent-ruby 1.1.4
remote: Using minitest 5.11.3
remote: Using thread_safe 0.3.6
remote: Using builder 3.2.3
remote: Using erubi 1.8.0
remote: Using mini_portile2 2.4.0
remote: Using crass 1.0.4
remote: Using rack 2.0.6
remote: Using nio4r 2.3.1
remote: Using websocket-extensions 0.1.3
remote: Using mini_mime 1.0.1
remote: Using arel 9.0.0
remote: Using mimemagic 0.3.3
remote: Using execjs 2.7.0
remote: Using bcrypt 3.1.12
remote: Using msgpack 1.2.6
remote: Using rb-fsevent 0.10.3
remote: Using ffi 1.10.0
remote: Using will_paginate 3.1.6
remote: Using bundler 1.15.2
remote: Using coffee-script-source 1.12.2
remote: Using method_source 0.9.2
remote: Using thor 0.20.3
remote: Using multi_json 1.13.1
remote: Using pg 1.1.4
remote: Using puma 3.12.0
remote: Using tilt 2.0.9
remote: Using turbolinks-source 5.2.0
remote: Using tzinfo 1.2.5
remote: Using nokogiri 1.10.0
remote: Using rack-test 1.1.0
remote: Using i18n 0.9.5
remote: Using sprockets 3.7.2
remote: Using websocket-driver 0.7.0
remote: Using autoprefixer-rails 9.4.4
remote: Using uglifier 4.1.20
remote: Using marcel 0.3.3
remote: Using mail 2.7.1
remote: Using rb-inotify 0.10.0
remote: Using coffee-script 2.4.1
remote: Using turbolinks 5.2.0
remote: Using bootstrap-will_paginate 1.0.0
remote: Using bootsnap 1.3.2
remote: Using loofah 2.2.3
remote: Using activesupport 5.2.2
remote: Using faker 1.7.3
remote: Using sass-listen 4.0.0
remote: Using rails-html-sanitizer 1.0.4
remote: Using sass 3.7.3
remote: Using bootstrap-sass 3.3.7
remote: Using rails-dom-testing 2.0.3
remote: Using globalid 0.4.2
remote: Using activemodel 5.2.2
remote: Using jbuilder 2.8.0
remote: Using activerecord 5.2.2
remote: Using actionview 5.2.2
remote: Using actionpack 5.2.2
remote: Using activejob 5.2.2
remote: Using actioncable 5.2.2
remote: Using activestorage 5.2.2
remote: Using railties 5.2.2
remote: Using sprockets-rails 3.2.1
remote: Using actionmailer 5.2.2
remote: Using coffee-rails 4.2.2
remote: Using jquery-rails 4.3.3
remote: Using rails 5.2.2
remote: Using sass-rails 5.0.7
remote: Bundle complete! 31 Gemfile dependencies, 68 gems now installed.
remote: Gems in the groups development and test were not installed.
remote: Bundled gems are installed into ./vendor/bundle.
remote: Bundle completed (3.30s)
remote: Cleaning up the bundler cache.
remote: Your Gemfile lists the gem pg (>= 0) more than once.
remote: You should probably keep only one of them.
remote: While it's not a problem now, it could cause errors if you change the version of one of them later.
remote: Warning: the running version of Bundler (1.15.2) is older than the version that created the lockfile (1.17.2). We suggest you upgrade to the latest version of Bundler by running `gem install bundler`.
remote: The latest bundler is 2.0.1, but you are currently running 1.15.2.
remote: To update, run `gem install bundler`
remote: -----> Installing node-v10.14.1-linux-x64
remote: -----> Detecting rake tasks
remote: -----> Preparing app for Rails asset pipeline
remote: Running: rake assets:precompile
remote: rake aborted!
remote: ActiveSupport::MessageEncryptor::InvalidMessage: ActiveSupport::MessageEncryptor::InvalidMessage
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/message_encryptor.rb:206:in `rescue in _decrypt'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/message_encryptor.rb:183:in `_decrypt'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/message_encryptor.rb:157:in `decrypt_and_verify'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/messages/rotator.rb:21:in `decrypt_and_verify'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/encrypted_file.rb:79:in `decrypt'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/encrypted_file.rb:42:in `read'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/encrypted_configuration.rb:21:in `read'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/encrypted_configuration.rb:33:in `config'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/encrypted_configuration.rb:38:in `options'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/core_ext/module/delegation.rb:271:in `method_missing'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/config/environments/production.rb:100:in `block in <main>'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/railtie.rb:216:in `instance_eval'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/railtie.rb:216:in `configure'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/config/environments/production.rb:1:in `<main>'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `require'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `block in require_with_bootsnap_lfi'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/loaded_features_index.rb:65:in `register'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:20:in `require_with_bootsnap_lfi'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:29:in `require'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:291:in `block in require'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:257:in `load_dependency'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:291:in `require'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/engine.rb:602:in `block (2 levels) in <class:Engine>'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/engine.rb:601:in `each'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/engine.rb:601:in `block in <class:Engine>'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/initializable.rb:32:in `instance_exec'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/initializable.rb:32:in `run'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/initializable.rb:61:in `block in run_initializers'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/initializable.rb:50:in `each'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/initializable.rb:50:in `tsort_each_child'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/initializable.rb:60:in `run_initializers'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/application.rb:361:in `initialize!'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/config/environment.rb:5:in `<main>'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `require'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `block in require_with_bootsnap_lfi'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/loaded_features_index.rb:65:in `register'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:20:in `require_with_bootsnap_lfi'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:29:in `require'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:291:in `block in require'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:257:in `load_dependency'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:291:in `require'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/application.rb:337:in `require_environment!'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/application.rb:520:in `block in run_tasks_blocks'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/sprockets-rails-3.2.1/lib/sprockets/rails/task.rb:62:in `block (2 levels) in define'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/exe/rake:27:in `<top (required)>'
remote:
remote: Caused by:
remote: OpenSSL::Cipher::CipherError:
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/message_encryptor.rb:201:in `final'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/message_encryptor.rb:201:in `_decrypt'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/message_encryptor.rb:157:in `decrypt_and_verify'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/messages/rotator.rb:21:in `decrypt_and_verify'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/encrypted_file.rb:79:in `decrypt'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/encrypted_file.rb:42:in `read'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/encrypted_configuration.rb:21:in `read'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/encrypted_configuration.rb:33:in `config'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/encrypted_configuration.rb:38:in `options'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/core_ext/module/delegation.rb:271:in `method_missing'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/config/environments/production.rb:100:in `block in <main>'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/railtie.rb:216:in `instance_eval'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/railtie.rb:216:in `configure'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/config/environments/production.rb:1:in `<main>'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `require'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `block in require_with_bootsnap_lfi'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/loaded_features_index.rb:65:in `register'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:20:in `require_with_bootsnap_lfi'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:29:in `require'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:291:in `block in require'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:257:in `load_dependency'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:291:in `require'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/engine.rb:602:in `block (2 levels) in <class:Engine>'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/engine.rb:601:in `each'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/engine.rb:601:in `block in <class:Engine>'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/initializable.rb:32:in `instance_exec'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/initializable.rb:32:in `run'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/initializable.rb:61:in `block in run_initializers'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/initializable.rb:50:in `each'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/initializable.rb:50:in `tsort_each_child'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/initializable.rb:60:in `run_initializers'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/application.rb:361:in `initialize!'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/config/environment.rb:5:in `<main>'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `require'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `block in require_with_bootsnap_lfi'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/loaded_features_index.rb:65:in `register'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:20:in `require_with_bootsnap_lfi'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/bootsnap-1.3.2/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:29:in `require'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:291:in `block in require'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:257:in `load_dependency'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/activesupport-5.2.2/lib/active_support/dependencies.rb:291:in `require'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/application.rb:337:in `require_environment!'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/railties-5.2.2/lib/rails/application.rb:520:in `block in run_tasks_blocks'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/sprockets-rails-3.2.1/lib/sprockets/rails/task.rb:62:in `block (2 levels) in define'
remote: /tmp/build_f2f890d3b7847e0537bd079a0d608e14/vendor/bundle/ruby/2.5.0/gems/rake-12.3.2/exe/rake:27:in `<top (required)>'
remote: Tasks: TOP => environment
remote: (See full trace by running task with --trace)
remote:
remote: !
remote: ! Precompiling assets failed.
remote: !
remote: ! Push rejected, failed to compile Ruby app.
remote:
remote: ! Push failed
remote: Verifying deploy...
remote:
remote: ! Push rejected to cryptic-chamber-73265.
remote:
To heroku.com:cryptic-chamber-73265.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'git@heroku.com:cryptic-chamber-73265.git'
答案 0 :(得分:2)
rm -rf config/credentials.yml.enc
EDITOR="mate --wait" bin/rails credentials:edit
希望有帮助。
答案 1 :(得分:1)
您需要向项目负责人/团队负责人/同事要求主密钥。
使用像2823729sdad29323832idsd这样的长键,将其复制并粘贴到config文件夹下的master.key文件中。
那解决了这个问题。
答案 2 :(得分:1)
几分钟后我也遇到了同样的问题。另外,为我找到一个解决方案!基本上,我使用 android 设备来开发 Ruby on Rails 应用程序。解决办法是: 转到应用程序配置目录。然后备份并删除以下文件:
master.key
credentials.yml.enc
然后转到终端或在 android 上,转到 termux 并在应用程序目录中写入命令(必须检查您是否在 rails 应用程序目录中):
$ EDITOR=nano rails credentials:edit
您还可以在桌面上使用其他编辑器,例如 Atom。现在将在终端或 termux(适用于 android 用户)中创建一个新的 master.key 和临时非加密凭据文件。然后按“ctrl+x”再按“y”再按回车,那么临时未加密的凭证文件将被加密。现在尝试做你的工作。现在你可能会得到一个成功的输出。就这样。 快乐编码。
注意:我在撰写此答案时得到的一些帮助来自: https://github.com/rails/rails/issues/32718
答案 3 :(得分:1)
对我来说,这是因为环境变量(在“配置变量”部分的 Heroku 设置页面中找到)持有一个过时的主密钥。
从 Rails 6 开始,您可以为每个环境设置凭据。因此,我的生产凭证与开发凭证不同;并且这两个凭据都有自己的主密钥。
此处找到的一个:config/master.key
,用于标准凭据文件:config/credentials.yml.enc
。在此处找到的生产凭据文件:config/credentials/production.yml.enc
使用在此处相同文件夹中找到的 production.key
进行加密:config/credentials/production.key
。
我将 Config Vars 中 Heroku 中的密钥更新为新的 production.key
并且所有内容都正确部署。
我希望这会有所帮助。快乐编码!
*此外,我建议在更新任何配置变量后,在 Heroku 上重新启动您的 dynos。这可确保考虑任何新的环境变量。
为此,请点击任意页面右上角的“更多”按钮,然后点击“重新启动所有测功机”。
答案 4 :(得分:0)
以下是https://guides.rubyonrails.org/security.html#environmental-security上的环境安全文档
您应该拥有此文件
config/master.key
config/credentials.yml.enc
如果没有,您可以使用以下代码生成这些代码:
rails credentials:edit
现在,版本控制将忽略文件master.key,因为它是用于解密.enc的密钥轨,只需提交您的certificate.yml.enc并将其推送到heroku。
对于heroku上的master.key,您可以在heroku应用程序上定义环境变量RAILS_MASTER_KEY,并将master.key的值放在上面。
现在要访问您在.enc文件中定义的环境变量,您必须通过Rails.application.credentials
访问ActionMailer::Base.smtp_settings = {
:address => 'smtp.sendgrid.net',
:port => '587',
:authentication => :plain,
:user_name => Rails.application.credentials.SENDGRID_USERNAME,
:password => Rails.application.credentials.SENDGRID_PASSWORD,
:domain => 'heroku.com',
:enable_starttls_auto => true
}
答案 5 :(得分:0)
答案 6 :(得分:0)
在Ubuntu 20.04中使用Rails 6应用程序时遇到了这个问题。
问题是我在 development (RAILS_MASTER_KEY
,.env
中的.env
文件中设置/指定了错误的.env.development
环境变量)。我只是想暂时将其用作占位符,因为在我的开发环境中不需要它。
然后,当我运行rails命令(例如rails generate uploader ProductImage
)时,这将引发以下错误:
`_decrypt中的救援':ActiveSupport :: MessageEncry ptor :: InvalidMessage(ActiveSupport :: MessageEncryptor :: InvalidMessage)
即使我尝试使用master.key
或credentials.yml.enc
生成新的rails credentials:edit
和EDITOR="code --wait" bin/rails credentials:edit
文件,它也会引发以下错误:
key=': key must be 16 bytes (ArgumentError)
这里是解决方法:
您要做的是要么在RAILS_MASTER_KEY
文件中提供正确的.env
环境变量,要么在不使用RAILS_MASTER_KEY
环境变量的情况下将其注释掉。
就是这样。
我希望这会有所帮助
答案 7 :(得分:0)
我今天遇到了同样的问题,我发现我合并了新的凭据.yml.enc,所以我尝试打开 EDITOR="code . --wait" rails credentials:edit 获取此处列出的错误。
我的解决方案只是删除文件末尾多余的空行,该行是在将分支与 vs 代码合并后添加的。