Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails `要求';:无法加载这样的文件--simplecov(LoadError)_Ruby On Rails_Ruby_Ruby On Rails 4_Heroku - Fatal编程技术网

Ruby on rails `要求';:无法加载这样的文件--simplecov(LoadError)

Ruby on rails `要求';:无法加载这样的文件--simplecov(LoadError),ruby-on-rails,ruby,ruby-on-rails-4,heroku,Ruby On Rails,Ruby,Ruby On Rails 4,Heroku,我在这方面得到了几乎相同的问题,但这两个问题似乎对我的情况都没有帮助。我解释原因。 在我的本地机器和heroku测试实例上,一切都运行得很好,然后突然,当我在heroku测试实例上推我的代码时,消息消失了 “应用程序错误” 我检查了日志,发现了错误 `require':无法加载此类文件--simplecov(LoadError) 完整的日志如下 /app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.5.1/lib/active\u suppor

我在这方面得到了几乎相同的问题,但这两个问题似乎对我的情况都没有帮助。我解释原因。 在我的本地机器和heroku测试实例上,一切都运行得很好,然后突然,当我在heroku测试实例上推我的代码时,消息消失了

“应用程序错误”

我检查了日志,发现了错误

`require':无法加载此类文件--simplecov(LoadError)

完整的日志如下

/app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.5.1/lib/active\u support/dependencies.rb:274:in
require':无法从加载这样的文件——simplecov(LoadError)
/app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.5.1/lib/active\u support/dependencies.rb:274:in
require中的块来自 /app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.5.1/lib/active\u support/dependencies.rb:240:in
从加载_依赖项”
/app/vendor/bundle/ruby/2.2.0/gems/activesupport-4.2.5.1/lib/active\u support/dependencies.rb:274:in
require'来自 /app/vendor/bundle/ruby/2.2.0/gems/codeclimate-test-reporter-1.0.1/lib/code\u climate/test\u reporter/formatter.rb:7:in `"

而我的
localhost
工作正常。我查看了更多日志,发现heroku正在尝试查看
rvm ruby 2.2.0
中的
simplecov
文件,而我在我的文件中明确提到了
2.2.4
。这似乎是一个错误原因。我无法将整个应用程序降级到
2.2.0
,因此我尝试了许多解决方案,如
bundle update
以及使用
simplecov
删除并重新安装
rspec
,但都没有成功。任何帮助都将不胜感激

更新: 下面是我的gemfile测试组

source 'https://rubygems.org'
 ruby "2.3.0"



gem 'therubyracer', :platforms => :ruby
gem 'rails', '4.2.5.1'
gem 'pg'
gem 'devise'
gem 'will_paginate'
gem 'will_paginate-bootstrap'
gem 'stripe'
# Required for functioning assets on Heroku
gem 'rails_12factor', group: :production

gem "has_permalink"
#gem 'delayed_job_active_record'
# Development
group :development, :test do
  gem 'mailcatcher'
  gem 'dotenv-rails'
  gem 'byebug'
  gem 'database_cleaner', '~> 1.5.0'
  #gem 'webmock', '~> 1.21.0'
end

gem 'tzinfo-data'
gem 'bcrypt', '~> 3.1.10'
gem 'uglifier', '>= 1.3.0'
gem 'bootstrap-sass', '~> 3.3.6'
gem 'sass-rails', '>= 3.2'
gem 'sprockets-rails'
gem 'bootstrap-select-rails'

# Use jquery as the JavaScript library
gem 'jquery-rails'
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
gem 'turbolinks'

#gem 'sorcery'

gem 'bourbon'
gem 'neat'
gem 'font-awesome-rails'

gem 'wicked'
gem 'spring',        group: :development

group :test do
  gem 'rspec'
  gem 'rspec-rails'
  gem 'rspec-instafail', require: false
  gem 'guard-rspec', require: false
  gem 'vcr'
  gem 'capybara'
  gem 'launchy'
  gem 'selenium-webdriver'
  gem 'simplecov', '~> 0.12.0'
end


gem 'mandrill-api'
gem 'carrierwave'
gem 'fog'
gem 'rmagick'
gem 'puma'
gem 'jquery-ui-rails'
gem 'codeclimate-test-reporter'

gem 'momentjs-rails', '>= 2.9.0'
gem 'bootstrap3-datetimepicker-rails', '~> 4.17.42'
gem 'bootstrap-wysihtml5-rails', github: 'nerian/bootstrap-wysihtml5-rails'

gem 'aws-sdk', '< 2.0'
gem 'aws-s3'
gem 'fog-aws'

gem 'shash'
gem 'listen'

出现上述错误时

SimpleCov是一种代码覆盖工具,旨在在本地计算机或Travis CI等计算机上运行。它不应该在Heroku上运行,Heroku用于生产或暂存

您应该将
simple\u cov
和任何与测试相关的gem放在GEM文件的
test
组中:

group :test do
  gem 'simplecov', '~> 0.12.0'
end
运行
bundle
重新生成
Gemfile.lock
并提交结果。 通过推动更改,将应用程序重新部署到Heroku

更新 您的gem文件在测试组之外有
gem'codeclimate test reporter'
。这是导致此错误的原因。您还有
listen
,这也是一个不适合生产的工具

所有环境中需要的所有gem都应该放在gem文件的顶部,然后列出组

与使用
group
选项相比,更喜欢将宝石放置在分组块中。一般来说,在添加依赖项时要更加小心,不要让您的GEM文件变得一团糟,因为这是您首先遇到这些问题的原因

source 'https://rubygems.org'
ruby "2.3.0"

gem 'rails', '4.2.5.1'
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] # Only needed on Windows and jRuby
gem 'puma' # You should have a version constraint here!!!

## == DB/ORM ===== 
gem 'pg' # You should have a version constraint here!!!
gem "has_permalink"
#gem 'delayed_job_active_record'

## == Authentication ====
gem 'devise'
gem 'bcrypt', '~> 3.1.10'

## == Front-End ====
# Use jquery as the JavaScript library
gem 'jquery-rails'
gem 'jquery-ui-rails'
gem 'uglifier', '>= 1.3.0'
gem 'bootstrap-sass', '~> 3.3.6'
gem 'sass-rails', '>= 3.2'
# ---- gem 'sprockets-rails' not needed since about rails 4.0
gem 'bootstrap-select-rails'

# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
gem 'turbolinks'
gem 'momentjs-rails', '>= 2.9.0'
gem 'bootstrap3-datetimepicker-rails', '~> 4.17.42'
gem 'bootstrap-wysihtml5-rails', github: 'nerian/bootstrap-wysihtml5-rails'
gem 'bourbon'
gem 'neat'
gem 'font-awesome-rails'
gem 'wicked'

## == Image uploads ====
gem 'carrierwave'
gem 'rmagick'

## == API's ====
gem 'mandrill-api'
# can most likely be removed as its a dependency of one of your gems.
gem 'fog' 
gem 'stripe'

## == Misc ====
gem 'will_paginate'
gem 'will_paginate-bootstrap'
#gem 'sorcery'

group :development, :test do
  gem 'mailcatcher' # Don't add to gemfile. Read the readme
  gem 'dotenv-rails'
  gem 'byebug'
  gem 'spring'
  # rspec-rails depends on rspec so you dont need to list it
  # it should be in the development group as well so that the generators work.
  gem 'rspec-rails'
  gem 'therubyracer', :platforms => :ruby # heroku has its own JS runtime.
end

group :test do
  gem 'rspec-instafail', require: false
  gem 'guard-rspec', require: false
  gem 'vcr'
  gem 'capybara'
  gem 'launchy'
  gem 'selenium-webdriver'
  gem 'simplecov', '~> 0.12.0'
  gem 'webmock', '~> 1.21.0' # don't use in development!
  gem 'database_cleaner', '~> 1.5.0' # don't use in development! 
  gem 'codeclimate-test-reporter' # This was the gem that was breaking your development server.
end

group :production do
  gem 'rails_12factor'
end

2.2.0
不应该成为问题。假设
2.2.x
Ruby系列中的所有gem都是共享的(最后一个微小的版本号是一个bug修正补丁,不会影响gems)。。。编辑:这意味着Ruby
2.2.4
gems通常(并且应该)安装在名为
2.2.0
的子文件夹中-除非我遗漏了什么,否则你的问题没有完整的细节。你是通过bundler运行它吗?这意味着您要么使用
bundle exec rspec
运行rspec,要么通过binstub
bin/rspec
运行rspec。您可以通过运行
bundle-binstub-rspec-core
或使用gem并运行
bin/spring-binstub-rspec
@Myst生成一个binstub,所有日志都显示了这一点。请告诉我哪些信息会使问题更适合-thanks@max不,亲爱的,我没有通过bundler运行它。我正在尝试运行命令heroku run rails c,它告诉我一个错误:更新您的gemfile
gem'simplecov','~>0.12.0',require:false
,并在需要时仅在您的测试套件上使用它。就像你可以在你的
spec\u helper.rb
上需要它一样。。像这样
需要'simplecov';SimpleCov.start'rails'
。确保任何测试或开发gem,如rspec、spring、database\u cleaner、pry、minitest等不在默认组(不嵌套在组中)或生产组中。您可以使用
heroku run bundle show
获取GEM文件所需的GEM列表。用于阅读每个gem的功能。您的生产环境应该只有实际运行应用程序所需的最少gem。虽然我的gem已经在测试组中,但我也在单独的测试组中添加了它,正如这里提到的,但没有任何用处。仍然是相同的错误请将您的gemfile添加到您的问题中。@ImranNaqvi,您是否删除了
gemfile.lock
文件,运行
bundle安装并重新提交?我没有删除锁文件。但我现在做了
source 'https://rubygems.org'
ruby "2.3.0"

gem 'rails', '4.2.5.1'
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby] # Only needed on Windows and jRuby
gem 'puma' # You should have a version constraint here!!!

## == DB/ORM ===== 
gem 'pg' # You should have a version constraint here!!!
gem "has_permalink"
#gem 'delayed_job_active_record'

## == Authentication ====
gem 'devise'
gem 'bcrypt', '~> 3.1.10'

## == Front-End ====
# Use jquery as the JavaScript library
gem 'jquery-rails'
gem 'jquery-ui-rails'
gem 'uglifier', '>= 1.3.0'
gem 'bootstrap-sass', '~> 3.3.6'
gem 'sass-rails', '>= 3.2'
# ---- gem 'sprockets-rails' not needed since about rails 4.0
gem 'bootstrap-select-rails'

# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
gem 'turbolinks'
gem 'momentjs-rails', '>= 2.9.0'
gem 'bootstrap3-datetimepicker-rails', '~> 4.17.42'
gem 'bootstrap-wysihtml5-rails', github: 'nerian/bootstrap-wysihtml5-rails'
gem 'bourbon'
gem 'neat'
gem 'font-awesome-rails'
gem 'wicked'

## == Image uploads ====
gem 'carrierwave'
gem 'rmagick'

## == API's ====
gem 'mandrill-api'
# can most likely be removed as its a dependency of one of your gems.
gem 'fog' 
gem 'stripe'

## == Misc ====
gem 'will_paginate'
gem 'will_paginate-bootstrap'
#gem 'sorcery'

group :development, :test do
  gem 'mailcatcher' # Don't add to gemfile. Read the readme
  gem 'dotenv-rails'
  gem 'byebug'
  gem 'spring'
  # rspec-rails depends on rspec so you dont need to list it
  # it should be in the development group as well so that the generators work.
  gem 'rspec-rails'
  gem 'therubyracer', :platforms => :ruby # heroku has its own JS runtime.
end

group :test do
  gem 'rspec-instafail', require: false
  gem 'guard-rspec', require: false
  gem 'vcr'
  gem 'capybara'
  gem 'launchy'
  gem 'selenium-webdriver'
  gem 'simplecov', '~> 0.12.0'
  gem 'webmock', '~> 1.21.0' # don't use in development!
  gem 'database_cleaner', '~> 1.5.0' # don't use in development! 
  gem 'codeclimate-test-reporter' # This was the gem that was breaking your development server.
end

group :production do
  gem 'rails_12factor'
end