rails generate rspec:install returns 'Could no

2019-08-08 08:26发布

问题:

Currently I'm going through the Ruby on Rails Tutorial by Michael Hartl, chapter 3 (http://ruby.railstutorial.org/chapters/static-pages#top), and I'm receiving an error after running the following command:

rails generate rspec:install

This is the error I'm getting:

Could not find addressable-2.2.8 in any of the sources
Run 'bundle install' to install missing gems.

If I rerun 'bundle install', this is what I get for output:

Using rake (0.9.2.2) 
Using i18n (0.6.0) 
Using multi_json (1.3.5) 
Using activesupport (3.2.3) 
Using builder (3.0.0) 
Using activemodel (3.2.3) 
Using erubis (2.7.0) 
Using journey (1.0.3) 
Using rack (1.4.1) 
Using rack-cache (1.2) 
Using rack-test (0.6.1) 
Using hike (1.2.1) 
Using tilt (1.3.3) 
Using sprockets (2.1.3) 
Using actionpack (3.2.3) 
Using mime-types (1.18) 
Using polyglot (0.3.3) 
Using treetop (1.4.10) 
Using mail (2.4.4) 
Using actionmailer (3.2.3) 
Using arel (3.0.2) 
Using tzinfo (0.3.33) 
Using activerecord (3.2.3) 
Using activeresource (3.2.3) 
Using addressable (2.2.8) 
Using bundler (1.1.3) 
Using nokogiri (1.5.2) 
Using ffi (1.0.11) 
Using childprocess (0.3.2) 
Using libwebsocket (0.1.3) 
Using rubyzip (0.9.8) 
Using selenium-webdriver (2.21.2) 
Using xpath (0.1.4) 
Using capybara (1.1.2) 
Using coffee-script-source (1.3.3) 
Using execjs (1.3.2) 
Using coffee-script (2.2.0) 
Using rack-ssl (1.3.2) 
Using json (1.7.3) 
Using rdoc (3.12) 
Using thor (0.14.6) 
Using railties (3.2.3) 
Using coffee-rails (3.2.2) 
Using diff-lcs (1.1.3) 
Using jquery-rails (2.0.0) 
Using rails (3.2.3) 
Using rspec-core (2.10.1) 
Using rspec-expectations (2.10.0) 
Using rspec-mocks (2.10.1) 
Using rspec (2.10.0) 
Using rspec-rails (2.10.0) 
Using sass (3.1.18) 
Using sass-rails (3.2.4) 
Using sqlite3 (1.3.5) 
Using uglifier (1.2.3) 
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.

I can see the path of 'addressable-2.2.8' if I type 'bundle show addressable'.

This is what my gemfile looks like:

source 'https://rubygems.org'

gem 'rails', '3.2.3'

group :development, :test do
gem 'sqlite3', '1.3.5'
gem 'rspec-rails', '2.10.0'
gem 'addressable', '2.2.8'
end

# Gems used only for assets and not required
# in production environments by default.
group :assets do
    gem 'sass-rails', '3.2.4'
gem 'coffee-rails', '3.2.2'
gem 'uglifier', '1.2.3'
end

gem 'jquery-rails', '2.0.0'

group :test do
gem 'capybara', '1.1.2'
end

group :production do
gem 'pg', '0.12.2'
end

It may help to know that I'm using rbenv, rails 3.2.3, and ruby 1.9.3p194.

EDIT: I have a feeling this may be related to the fact that I am using rbenv. I have a feeling that the rails project is looking in the wrong place for this particular dependency. Is there any way to force rails application to store dependencies/gems in the application itself and always load them there?

回答1:

I encountered this same exact issue. Here are the steps I followed to fix it.

  1. Make sure source 'https://rubygems.org' is the first line in your Gemfile.
  2. rm -rf .bundle
  3. bundle install


回答2:

Try: bundle exec rails generate rspec:install