2

所以我正在尝试从 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
Rake:rake (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/垃圾桶

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

这是我得到的错误:

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$ 

这个错误太长了,无法适应这个领域。

4

3 回答 3

0

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

gem install bundler

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

bundle exec rake db:schema:dump

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

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

http://gembundler.com/

另外,请注意,rake只要您已rails指定,您的“Gemfile”中就不需要它。rake安装为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​​ 版本ruby-1.9.3-p125。然后当你切换到那个目录时,rvm 会自动为你设置 gemset 和 ruby​​ 版本。

于 2012-05-09T02:23:29.953 回答
0

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

另请注意,除非需要,否则我没有使用 sudo。我认为这将文件放在不同的位置,这可能也有帮助。

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

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

如何在 OSX Lion 上安装(构建)Ruby 1.9.3?

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

于 2012-05-09T22:32:15.617 回答
0

安装 rvm

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

于 2012-05-09T02:40:26.107 回答