2011-01-28 58 views
2

我试图用捆绑器设置一个新的rails 3项目,但我遇到了捆绑器问题。 我在轨道上3.0.3与1.8.7红宝石捆绑器路径的问题,改变或不改变?

当试图做

$ bundle exec rake db:migrate 

我收到以下错误

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems/dependency.rb:52:in `initialize': Valid types are [:development, :runtime], not nil (ArgumentError) 

也是一样的,当我尝试发出经常在我的终端耙子任务,如 $ rake -T即,只有那时我得到的错误:

uninitialized constant Bundler /Users/daniel/cc/contributie_data/Rakefile:4 (See full trace by running task with --trace)

我一直在阅读一些其他的问题,关于这个问题,所以我学会了它是与路径...

$ which rake 在/ usr/bin中/耙

$ which ruby /usr/local/bin/ruby​​

任何人都可以给我一些关于这里会发生什么的建议吗? 甚至更​​重要的是,我怎样才能让打包机与耙机玩好..

感谢您的任何意见,非常感谢!

回答

3

我得到了同样的错误(我正在使用rvm)。原来,在这两个我的.profile和.bashrc中是下面的语句:

export PATH=~/.gem/ruby/1.8/bin:$PATH 

所以这条道路被带到代替RVM路径。我评论这些线,现在一切正常

2

哦,男人,我只是今天通过这个时候。

我做了一个更新,我的rvm打破了 - 开始抛出丢失的脚本等。我刚刚完成重新安装rvm和我的红宝石。

这不是很好,它需要一段时间,但这是我所做的恢复到工作状态。

从这里开始。 How can I remove RVM (Ruby Version Manager) from my system?完成并安装新鲜。

3

尝试删除Gemfile.lock。它通常有帮助

Valid types are [:development, :runtime], not nil

错误。

1

我也面临着同样的问题,以及与此链接github:bundler

修改一个行的文件lib/bundler/resolver.rb这里面居住在bundler gem的帮助下解决了。从线d = Gem::Dependency.new(base.first.name, *reqs)

这样删除*马克:

reqs = [dep.requirement.as_list, base.first.version.to_s].flatten.compact 
d = Gem::Dependency.new(base.first.name, *reqs) 

reqs = [dep.requirement.as_list, base.first.version.to_s].flatten.compact 
d = Gem::Dependency.new(base.first.name, reqs) 

*修改宝石的内容直接是不是一个好的做法。发布这只是为了显示解决此问题的另一种方式。