2010-09-02 65 views
7

我一直在搞RubyOnRails3和Git的第一次。一切都一帆风顺,直到突然之间任何轨道相关的命令行参数停止工作。不幸的是,我不知道是什么导致了这个问题,或者怎么去解决它。lockfile_parser.r:48:在`parse_source':未定义的方法`[]'为零:NilClass(NoMethodError)

这里的命令行

C:\railstest\railsproject>rails 
C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0/lib/bundler/lockfile_parser.rb 
:48:in `parse_source': undefined method `[]' for nil:NilClass (NoMethodError) 
     from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0/lib/bundler/lockf 
ile_parser.rb:20:in `block in initialize' 
     from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0/lib/bundler/lockf 
ile_parser.rb:14:in `each' 
     from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0/lib/bundler/lockf 
ile_parser.rb:14:in `initialize' 
     from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0/lib/bundler/defin 
ition.rb:43:in `new' 
     from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0/lib/bundler/defin 
ition.rb:43:in `initialize' 
     from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0/lib/bundler/dsl.r 
b:122:in `new' 
     from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0/lib/bundler/dsl.r 
b:122:in `to_definition' 
     from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0/lib/bundler/defin 
ition.rb:20:in `build' 
     from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0/lib/bundler.rb:12 
8:in `definition' 
     from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0/lib/bundler.rb:11 
6:in `load' 
     from C:/Ruby192/lib/ruby/gems/1.9.1/gems/bundler-1.0.0/lib/bundler.rb:10 
0:in `setup' 
     from C:/railstest/railsproject/config/boot.rb:8:in `<top (required)>' 
     from <internal:lib/rubygems/custom_require>:29:in `require' 
     from <internal:lib/rubygems/custom_require>:29:in `require' 
     from script/rails:5:in `<main>' 

输出我不完全相信其他信息,以提供

+0

感谢您的解决方案,这正是我遇到的问题。注意:您可能必须删除出现问题的每个分支的gemfile.lock文件。至少,我不得不这样做。 – Dave 2010-09-17 18:32:05

回答

13

好像有在Gemfile.lock文件中的一些问题。您可以尝试删除此文件并再次运行bundle install以查看它是否可以正确重新创建它。

+0

谢谢你。我有同样的问题,现在已经修复了! – fuzz 2011-01-04 04:29:18

+1

此外,也许做一个'git diff Gemfile.lock'或类似的东西,看看你是否意外修改了文件,就像我一样。这是你不必垃圾。 – Derek 2013-01-30 04:56:52

+0

@DerekB。好点子。直接删除锁定文件并不是一个好主意,因为它指定了您的应用当前依赖并经过测试的版本。 – 2013-01-30 16:24:26

相关问题