ruby - 加载错误 : cannot load such file -- rspec/core/rake_task

标签 ruby rspec rubygems rake

当我 rake 的时候,我得到了这个错误。

AllenLins-MacBook-Pro:geoblacklight allenlin$ rake -t
Resolving dependencies...
You must `gem install bundler` and `bundle install` to run rake tasks
rake aborted!
LoadError: cannot load such file -- rspec/core/rake_task
/Users/allenlin/Documents/USpatial/geoblacklight/Rakefile:12:in `require'
/Users/allenlin/Documents/USpatial/geoblacklight/Rakefile:12:in `<top (required)>'
/Users/allenlin/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rake/rake_module.rb:28:in `load'
/Users/allenlin/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rake/rake_module.rb:28:in `load_rakefile'
/Users/allenlin/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rake/application.rb:689:in `raw_load_rakefile'
/Users/allenlin/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rake/application.rb:94:in `block in load_rakefile'
/Users/allenlin/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rake/application.rb:176:in `standard_exception_handling'
/Users/allenlin/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rake/application.rb:93:in `load_rakefile'
/Users/allenlin/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rake/application.rb:77:in `block in run'
/Users/allenlin/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rake/application.rb:176:in `standard_exception_handling'
/Users/allenlin/.rbenv/versions/2.2.2/lib/ruby/2.2.0/rake/application.rb:75:in `run'
/Users/allenlin/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rake-10.4.2/bin/rake:33:in `<top (required)>'
/Users/allenlin/.rbenv/versions/2.2.2/bin/rake:23:in `load'
/Users/allenlin/.rbenv/versions/2.2.2/bin/rake:23:in `<main>'

但是,我运行了“gem install bundler”和“bundle install”rspec/core/rake_task 确实存在,显示为

AllenLins-MacBook-Pro:geoblacklight allenlin$ gem which rspec/core/rake_task
/Users/allenlin/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/rspec-core-3.0.4/lib/rspec/core/rake_task.rb

我迷路了。非常感谢您对此的任何帮助!我附上了 Gemfile:

source 'https://rubygems.org'

# Specify your gem's dependencies in geoblacklight.gemspec
gemspec

# If we don't specify 2.11.0 we'll end up with sprockets 2.12.0 in the main
# Gemfile.lock but since sass-rails gets generated (rails new) into the test app
# it'll want sprockets 2.11.0 and we'll have a conflict
gem 'sprockets', '2.11.0'

# If we don't specify 3.2.15 we'll end up with sass 3.3.2 in the main
# Gemfile.lock but since sass-rails gets generated (rails new) into the test app
# it'll want sass 3.2.0 and we'll have a conflict
gem 'sass', '~> 3.2.0'
gem 'bootstrap-sass', ">= 3.2"

group :test do
  # Peg simplecov to < 0.8 until this is resolved:
  # https://github.com/colszowka/simplecov/issues/281
  gem 'simplecov', '~> 0.7.1', require: false
  gem 'coveralls', require: false
end

更新

如果有帮助,请添加我的 gem env

RubyGems Environment:
  - RUBYGEMS VERSION: 2.4.5
  - RUBY VERSION: 2.2.2 (2015-04-13 patchlevel 95) [x86_64-darwin14]
  - INSTALLATION DIRECTORY: /Users/allenlin/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0
  - RUBY EXECUTABLE: /Users/allenlin/.rbenv/versions/2.2.2/bin/ruby
  - EXECUTABLE DIRECTORY: /Users/allenlin/.rbenv/versions/2.2.2/bin
  - SPEC CACHE DIRECTORY: /Users/allenlin/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /Users/allenlin/.rbenv/versions/2.2.2/etc
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-darwin-14
  - GEM PATHS:
     - /Users/allenlin/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0
     - /Users/allenlin/.gem/ruby/2.2.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /Users/allenlin/.rbenv/versions/2.2.2/bin
     - /usr/local/Cellar/rbenv/0.4.0/libexec
     - /Users/allenlin/.rbenv/shims
     - /Applications/Postgres.app/Contents/Versions/9.3/bin
     - /Library/Frameworks/Python.framework/Versions/2.7/bin
     - /Users/allenlin/Library/Enthought/Canopy_64bit/User/bin
     - /Users/allenlin/.rbenv/versions/2.2.2/lib/ruby/gems/2.2.0/gems/bundler-1.9.6/bin
     - /Users/allenlin/gradle-1.12/bin
     - /usr/local/bin
     - /Users/allenlin/apache-maven/apache-maven-3.1.1/bin
     - /usr/local/bin
     - /usr/bin
     - /bin
     - /usr/sbin
     - /sbin
     - /opt/X11/bin
     - /usr/local/git/bin
     - /usr/texbin

最佳答案

似乎运行 bundle exec rake -t 会起作用。根据 bundler.io http://bundler.io/man/bundle-exec.1.html 我建议添加 bundle exec 以确保我们使用的是当前上下文中指定的 Gem。另请参阅此 SO 帖子。 What does bundle exec rake mean?

关于ruby - 加载错误 : cannot load such file -- rspec/core/rake_task,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30114733/

相关文章:

ruby - 使用 Rack 中间件在每个请求上添加 api_key

ruby - OS X Homebrew 需要为 cmake 创建构建目录

ruby-on-rails - 哈希中时间戳的 Rspec 问题

ruby-on-rails - 如何在 RSpec 上包含 Rails Helpers

mysql - 安装 sqlite3-rubygem 和 mysql 的问题

ruby - 使用旧的 ruby​​gems 版本进行 bundle 安装

ruby - 在 Capybara 中,如何用包含制表符的文本填写字段?

ruby - RSpec 和 Open-URI 我如何模拟引发 SocketError/TimeoutError

ruby - Gem 更新系统 - 带 302 重定向的 Catch 22

ruby - 返回声明