1

我正在运行 Ruby 1.9.2。我已经安装了 rake 0.8.7。然而,rake在 Rails 应用程序中运行给了我以下信息:

(in /usr/home/users/dimitar/Rails/spek)
Could not find activesupport-3.0.1 in any of the sources
Try running `bundle install`.

所以我继续运行bundle install,一切看起来都很好:

Fetching source index for http://rubygems.org/
Using rake (0.8.7) 
Using abstract (1.0.0) 
Using activesupport (3.0.1) 
Using builder (2.1.2) 
Using i18n (0.4.1) 
Using activemodel (3.0.1) 
Using erubis (2.6.6) 
Using rack (1.2.1) 
Using rack-mount (0.6.13) 
Using rack-test (0.5.6) 
Using tzinfo (0.3.23) 
Using actionpack (3.0.1) 
Using mime-types (1.16) 
Using polyglot (0.3.1) 
Using treetop (1.4.8) 
Using mail (2.2.7) 
Using actionmailer (3.0.1) 
Using arel (1.0.1) 
Using activerecord (3.0.1) 
Using activeresource (3.0.1) 
Using bundler (1.0.3) 
Using thor (0.14.3) 
Using railties (3.0.1) 
Using rails (3.0.1) 
Using sqlite3-ruby (1.3.1) 
Your bundle is updated! Use `bundle show [gemname]` to see where a bundled gem is installed.

rake仍然给我同样的错误信息。有什么建议么?


实际上问题似乎来自 config/boot.rb 文件:

# Set up gems listed in the Gemfile.                                                                                                                               
gemfile = File.expand_path('../../Gemfile', __FILE__)
begin
  ENV['BUNDLE_GEMFILE'] = gemfile
  require 'bundler'
  Bundler.setup
rescue Bundler::GemNotFound => e
  STDERR.puts e.message
  STDERR.puts "Try running `bundle install`."
  exit!
end if File.exist?(gemfile)
4

4 回答 4

1

I had a similar problem using ruby-1.9.2 and fixed it by upgrading rubygems

sudo gem update --system

于 2011-06-23T16:27:12.860 回答
1

您是否安装了多个 Ruby 解释器(可能是通过rvm或其他方法)?如果是这样,你确定正确的那个是活跃的吗?

要看的东西:

which ruby
which rake
ruby -e 'puts $:' # To show the LOAD_PATH for gems
于 2010-10-16T14:13:44.980 回答
0

我在使用 REE 1.8.7 时遇到了同样的问题。我切换到 1.9.2 并进行了捆绑安装。然后我的 rake 命令起作用了。

于 2011-08-15T04:52:13.933 回答
0

当我错误地使用 ruby​​ 1.9.3 运行乘客并且应用程序在其 .rvmrc 中使用 1.8.7 时,我遇到了这个问题。通过使用 1.9.3 修复(现在我有编码问题,但那是另一回事)。

于 2013-03-01T18:38:37.093 回答