【问题标题】:Ruby 3.2.3 rake does not seem to work - or something. Rake aborted! cannot load such fileRuby 3.2.3 rake 似乎不起作用 - 或其他什么。瑞克失败了!无法加载此类文件
【发布时间】:2012-05-17 13:10:06
【问题描述】:

所以我正在尝试从 Lynda.com 学习 Ruby 和 rails 当我到达数据库部分时,老师让我们使用 rake 进行此模式转储,但它中止了,我不知道出了什么问题(我是新手对于这一切,请原谅我 =))

操作系统:Lion
Ruby:ruby 1.9.3p194(2012-04-20 修订版 35410)[x86_64-darwin11.3.0]
Rails:Rails 3.2.3
耙子:耙子 (0.9.2.2)
$PATH:/usr/local/Cellar:/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:/usr/bin:/bin:/usr/sbin:/sbin:/ usr/local/bin:/usr/X11/bin

所有 gem 都应该是最新的(前几天刚刚重新安装)。如果您需要了解任何其他信息来帮助解决问题,请告诉我!

这是我得到的错误:

Alex$ rake db:schema:dump
rake aborted!
cannot load such file -- bundler/setup

(See full trace by running task with --trace)


Alex$ rake --trace
rake aborted!
cannot load such file -- bundler/setup
/usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
/usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
/Users/Alex/Sites/simple_cms/config/boot.rb:6:in `<top (required)>'
/usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
/usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
/Users/Alex/Sites/simple_cms/config/application.rb:1:in `<top (required)>'
/usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
/usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
/Users/Alex/Sites/simple_cms/Rakefile:5:in `<top (required)>'
/usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/1.9.1/rake/rake_module.rb:25:in `load'
/usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/1.9.1/rake/rake_module.rb:25:in `load_rakefile'
/usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/1.9.1/rake/application.rb:501:in `raw_load_rakefile'
/usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/1.9.1/rake/application.rb:82:in `block in load_rakefile'
/usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/1.9.1/rake/application.rb:133:in `standard_exception_handling'
/usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/1.9.1/rake/application.rb:81:in `load_rakefile'
/usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/1.9.1/rake/application.rb:65:in `block in run'
/usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/1.9.1/rake/application.rb:133:in `standard_exception_handling'
/usr/local/Cellar/ruby/1.9.3-p194/lib/ruby/1.9.1/rake/application.rb:63:in `run'
/usr/local/bin/rake:32:in `<main>'

当我尝试重新安装 budel 并运行此命令时得到了这个:

Alex$ bundle exec rake db:schema:dump
/Library/Ruby/Gems/1.8/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle: [BUG] Segmentation fault
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-darwin11.3.0]

-- Control frame information -----------------------------------------------
c:0030 p:-17562901266652 s:0090 b:0090 l:000089 d:000089 TOP   
c:0029 p:---- s:0088 b:0088 l:000087 d:000087 CFUNC  :require
c:0028 p:0119 s:0084 b:0084 l:000083 d:000083 TOP    /Library/Ruby/Gems/1.8/gems/mysql2-0.3.11/lib/mysql2.rb:9
c:0027 p:---- s:0082 b:0082 l:000081 d:000081 FINISH
c:0026 p:---- s:0080 b:0080 l:000079 d:000079 CFUNC  :require
c:0025 p:0026 s:0076 b:0076 l:000056 d:000075 BLOCK  /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/runtime.rb:68
c:0024 p:---- s:0073 b:0073 l:000072 d:000072 FINISH
c:0023 p:---- s:0071 b:0071 l:000070 d:000070 CFUNC  :each
c:0022 p:0091 s:0068 b:0068 l:000056 d:000067 BLOCK  /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/runtime.rb:66
c:0021 p:---- s:0062 b:0062 l:000061 d:000061 FINISH
c:0020 p:---- s:0060 b:0060 l:000059 d:000059 CFUNC  :each
c:0019 p:0046 s:0057 b:0057 l:000056 d:000056 METHOD /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler/runtime.rb:55
c:0018 p:0021 s:0053 b:0053 l:000052 d:000052 METHOD /Library/Ruby/Gems/1.8/gems/bundler-1.1.3/lib/bundler.rb:119
c:0017 p:0089 s:0049 b:0049 l:000048 d:000048 TOP    /Users/Alex/Sites/simple_cms/config/application.rb:7
c:0016 p:---- s:0047 b:0047 l:000046 d:000046 FINISH
c:0015 p:---- s:0045 b:0045 l:000044 d:000044 CFUNC  :require
c:0014 p:0026 s:0041 b:0041 l:000040 d:000040 TOP    /Users/Alex/Sites/simple_cms/Rakefile:5
c:0013 p:---- s:0039 b:0039 l:000038 d:000038 FINISH
c:0012 p:---- s:0037 b:0037 l:000036 d:000036 CFUNC  :load
c:0011 p:0013 s:0033 b:0033 l:000032 d:000032 METHOD /Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/rake_module.rb:25
c:0010 p:0274 s:0029 b:0029 l:000028 d:000028 METHOD /Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:501
c:0009 p:0009 s:0024 b:0024 l:000017 d:000023 BLOCK  /Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:82
c:0008 p:0009 s:0022 b:0022 l:000021 d:000021 METHOD /Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:133
c:0007 p:0011 s:0018 b:0018 l:000017 d:000017 METHOD /Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:81
c:0006 p:0019 s:0015 b:0015 l:000008 d:000014 BLOCK  /Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:65
c:0005 p:0009 s:0013 b:0013 l:000012 d:000012 METHOD /Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:133
c:0004 p:0011 s:0009 b:0009 l:000008 d:000008 METHOD /Library/Ruby/Gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:63
c:0003 p:0048 s:0006 b:0006 l:0003a8 d:000a48 EVAL   /usr/local/bin/rake:32
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:0003a8 d:0003a8 TOP  

......

[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html

Abort trap: 6
Alex$ 

错误太长,无法放入该字段。

【问题讨论】:

  • 你安装了捆绑器吗?
  • 我在其他一些主题中看到,rake 应该在 rails 项目 gemfile 中,但如果这很重要的话,我的中没有提到......

标签: ruby-on-rails ruby ruby-on-rails-3 rake


【解决方案1】:

安装 rvm

为您的项目创建一个新的 gemset。我打赌你在某些方面使用的是 Lion 附带的 aystem ruby​​

【讨论】:

  • 对不起,您能说得更直白点吗?制作新的 gem 集、重新安装 ruby​​ gem 和 rails 后,我该怎么办?我必须先“激活”这个新的宝石套装吗?抱歉,我对这一切都很陌生,所以信息越多越好,你知道吗?
  • 先安装rvm。然后按照它的说明设置默认的 ruby​​ 环境。
  • 比你用 rvm 更新 ruby​​gems 并在你的项目目录中创建一个新的 gemset,google 上有很好的说明来做到这一点......
【解决方案2】:

我已经通过运行解决了这个问题:

gem install bundler

如果您尝试这样做并且它显示您已安装捆绑程序,请尝试输入:

bundle exec rake db:schema:dump

您可能在当前捆绑包范围之外运行该命令。

这里有更多关于为什么需要在 rake 命令前添加 bundle exec 的背景信息:

http://gembundler.com/

另外,请注意,只要您指定了 rails,您的“Gemfile”中就不需要 rakerake 安装为 rails 的依赖项。要查看相关性,请查看您的 Gemfile.lock

安装 rvm 后,将以下内容添加到项目根目录中名为 .rvmrc 的文件中:

if [[ -d "${rvm_path:-$HOME/.rvm}/environments" \
  && -s "${rvm_path:-$HOME/.rvm}/environments/ruby-1.9.3-p125@MYPROJECTNAME" ]] ; then
  \. "${rvm_path:-$HOME/.rvm}/environments/ruby-1.9.3-p125@MYPROJECTNAME"  
else
  rvm --create use  "ruby-1.9.3-p125@MYPROJECTNAME"
fi

将您的项目名称替换为“MYPROJECTNAME”以及您看到ruby-1.9.3-p125 的相应 ruby​​ 版本。然后当你切换到那个目录时,rvm 会自动为你设置 gemset 和 ruby​​ 版本。

【讨论】:

  • 哇,我这样做有很多错误。请查看原帖中的更新!
  • 我要采取的下一步是安装 rvm——它会为你管理很多这样的事情,所以你不必担心。见rvm.io
【解决方案3】:

问题似乎是我在安装 ruby​​ & rails 之后安装了 bundle。我卸载了 ruby​​ 和我所有的 gem(但留下了 bundle 和 homebrew),然后使用 rvm 安装了最新的 ruby​​ 和 rails。

还要注意我没有使用 sudo,除非它要求我这样做。我认为这会将文件放在不同的位置,这可能也有帮助。

rake 命令现在可以工作了(之前没有使用 bundle 命令)。

所以基本上我已经安装了捆绑包,然后做了这个人在他的问题底部所做的一切(#5 给了我和错误并且没有安装)。

How do you install (build) Ruby 1.9.3 on OSX Lion?

希望这可以帮助其他遇到与我相同的问题的人。

【讨论】:

    猜你喜欢
    • 2011-11-20
    • 1970-01-01
    • 2015-03-20
    • 2014-09-15
    • 2021-04-08
    • 1970-01-01
    • 2011-10-07
    • 1970-01-01
    • 2015-03-03
    相关资源
    最近更新 更多