【问题标题】:Heroku Rake Issues `require': cannot load such file -- /app/db:version (LoadError)Heroku Rake 问题 `require': 无法加载此类文件 -- /app/db:version (LoadError)
【发布时间】:2023-03-30 07:01:01
【问题描述】:

我有一个可以在我的开发盒上运行的 rails 应用程序,我将它放在 heroku 上,一切正常,除非我运行 rake db.. 命令它执行命令但最后它给了我以下错误:

/app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.0.2/lib/active_support/dependencies.rb:293:in require': cannot load such file -- /app/db:version (LoadError) from /app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.0.2/lib/active_support/dependencies.rb:293:inblock in require' 来自 /app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.0.2/lib/active_support/dependencies.rb:259:in load_dependency' from /app/vendor/bundle/ruby/2.4.0/gems/activesupport-5.0.2/lib/active_support/dependencies.rb:293:inrequire' 来自 /app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.2/lib/rails/test_unit/test_requirer.rb:11:in block in require_files' from /app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.2/lib/rails/test_unit/test_requirer.rb:10:in each' 来自 /app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.2/lib/rails/test_unit/test_requirer.rb:10:in require_files' from /app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.2/lib/rails/test_unit/minitest_plugin.rb:86:inplugin_rails_init' 来自 /app/vendor/bundle/ruby/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:80:in block in init_plugins' from /app/vendor/bundle/ruby/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:78:in each' 来自 /app/vendor/bundle/ruby/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:78:in init_plugins' from /app/vendor/bundle/ruby/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:129:in run' 来自 /app/vendor/bundle/ruby/2.4.0/gems/railties-5.0.2/lib/rails/test_unit/minitest_plugin.rb:72:in run' from /app/vendor/bundle/ruby/2.4.0/gems/minitest-5.10.1/lib/minitest.rb:62:in block in autorun'

我尝试将 gems railties 和 minitest 添加到我的 gem 文件中。我已经删除了我的 heroku 应用程序并重新从头开始。

我已删除 gemlock 文件并运行 bundle install 和 bundle check

我已经在我的 gem 文件中指定了 ruby​​ 版本

下面是我的gem文件

来源'https://rubygems.org'

ruby "2.4.0"
gem 'rake', '~> 12.0'
gem 'railties', '~> 5.0', '>= 5.0.0.1'
gem 'minitest', '~> 5.10', '>= 5.10.1'

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 5.0.0', '>= 5.0.0.1'
# Use mysql as the database for Active Record
#gem 'mysql2', '>= 0.3.18', '< 0.5'
gem  'pg'
# Use Puma as the app server
gem 'puma', '~> 3.0'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails', '~> 4.2'
# See https://github.com/rails/execjs#readme for more supported runtimes gem 'therubyracer', platforms: :ruby Use jquery as the JavaScript library
gem 'jquery-rails'
# Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
gem 'turbolinks', '~> 5'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.5'
# Use Redis adapter to run Action Cable in production gem 'redis', '~> 3.0' Use ActiveModel has_secure_password gem 'bcrypt', '~> 3.1.7' Use Capistrano for deployment gem 'capistrano-rails', group: :development
gem 'peddler', '~> 1.4.1'
gem 'nokogiri', '~> 1.6', '>= 1.6.8'
gem "pry-rails", group:"development"
gem 'chartkick', '~> 2.1', '>= 2.1.1'
gem "groupdate"
gem 'devise', '~> 4.2'
gem 'omniauth', '~> 1.3', '>= 1.3.1'
 #required for devise
 gem 'jquery-turbolinks'
 #gem 'foundation-rails'

 gem 'whenever', require: false

# export to excel
gem 'axlsx_rails', '~> 0.4.0'
gem 'axlsx', '2.1.0.pre'
gem 'roo'
gem 'rubyzip', '~> 1.1.0'
#gem 'zip-zip' #
#gem 'will_paginate', '~> 3.1.0'
#gem 'foundation-datepicker-rails'
gem 'will_paginate', '~> 3.1', '>= 3.1.5'

gem "wysiwyg-rails"
gem "font-awesome-rails"

gem 'stripe'
gem 'stripe_event', '~> 1.5', '>= 1.5.1'

#gem 'koudoku'

gem 'bootstrap-sass', '~> 3.3.6'

gem 'bootstrap-datepicker-rails'

gem "bootstrap-switch-rails"

gem 'elasticemail', git: "git://github.com/klebervirgilio/elasticemail.git"

gem 'rails_admin', '~> 1.1.1'

gem 'cancancan', '~> 1.10'

gem 'ransack', github: 'activerecord-hackery/ransack'

gem 'sidekiq'
#gem 'sinatra', github: 'sinatra/sinatra'

gem 'rails_12factor', group: :production

 group :development, :test do
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug', platform: :mri
 end

group :development do
  # Access an IRB console on exception pages or by using <%= console %> anywhere in the code.
  gem 'web-console'
  gem 'listen', '~> 3.0.5' # was causing an error https://github.com/rails/rails/issues/24063 moved outside development group

  # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring
  gem 'spring'
  gem 'spring-watcher-listen', '~> 2.0.0'
 end

# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
  gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]

不知所措,谢谢

【问题讨论】:

  • 你输入什么命令来在 Heroku 上运行 rake 任务?
  • 当你运行heroku run rails c 时会发生什么?
  • @MichałMłoźniak 我输入 heroku rake db:migrate 甚至是出现错误的 heroku rake db:version。但是,即使它有那个错误,一切似乎都在工作。就像,它完成所有迁移并为我提供迁移版本
  • @SomeSchmo 它有效,它把我带到了 irb,根本没有错误消息。只有当我运行 heroku rake db 时...该站点似乎工作得很好,所以我不确定它为什么会这样做。我在 WSL 上的本地 ubuntu 实例上没有问题。所以生产环境中的某些东西导致了它。好像它正在做最后的检查或其他什么,但我想如果前面的步骤有效,它并不会真正影响实际的应用程序。但我想知道是什么原因造成的,并在可能的情况下修复它。谢谢
  • 嗯不确定。一个建议可能是删除强制的 gem 版本,因为您强制的版本可能不兼容

标签: ruby-on-rails heroku rubygems


【解决方案1】:

在 Heroku 上运行 rake 任务的正确语法是 heroku run rake db:migrate。在你的命令中你错过了run

【讨论】:

  • 不幸的是,没有工作仍然有同样的错误
【解决方案2】:

正如我所见,您正在使用 rails 5 并拥有 12factor gem。在heroku 上部署rails 5 不需要rails_12factor gem。 关注heroku rails 5 deployment documentation,应该可以解决问题。

希望对你有帮助。

【讨论】:

  • 我删除了那个宝石,但仍然不起作用。我最终删除了所有宝石并将它们一一添加,但找不到罪魁祸首。因为我的应用程序需要某些 gem,所以每次它要求 gem 时,我都会添加它,然后删除 gemfile.lock,捆绑安装,然后推回 heroku。在这一点上,它并没有真正影响我的应用程序。也许如果我启动一个新应用程序并包含 gemfile 并查看它是否出错。问题是,它不会在我的本地机器上抛出这个错误。
猜你喜欢
  • 2021-05-16
  • 2015-03-20
  • 2014-05-27
  • 2017-03-27
  • 1970-01-01
  • 1970-01-01
  • 2022-09-26
  • 2021-04-08
  • 1970-01-01
相关资源
最近更新 更多