设置时,“bundle install”失败:Gemfile中的git路径

时间:2011-09-30 17:25:09

标签: ruby-on-rails bundler prawn

我想从主源代码分支而不是宝石仓库更新我的一个宝石。所以我把它放在我的Gemfile中:

gem "prawn", :git => "https://github.com/sandal/prawn.git"

但是,现在我跑的时候:

bundle install

或:

bundle update

我明白了:

Updating https://github.com/sandal/prawn.git
syntax error on line 42, col 0: `end'
/Users/me/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/yaml.rb:137:in `load': undefined method `path' for #<String:0x101aa83c0> (NoMethodError)
from /Users/me/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/site_ruby/1.8/rubygems/specification.rb:480:in `from_yaml'
from /Users/me/.rvm/gems/ree-1.8.7-2011.03@myapp/gems/bundler-1.0.20/lib/bundler.rb:238:in `load_gemspec'
from /Users/me/.rvm/gems/ree-1.8.7-2011.03@myapp/gems/bundler-1.0.20/lib/bundler.rb:235:in `chdir'
from /Users/me/.rvm/gems/ree-1.8.7-2011.03@myapp/gems/bundler-1.0.20/lib/bundler.rb:235:in `load_gemspec'
from /Users/me/.rvm/gems/ree-1.8.7-2011.03@myapp/gems/bundler-1.0.20/lib/bundler/source.rb:353:in `load_spec_files'
from /Users/me/.rvm/gems/ree-1.8.7-2011.03@myapp/gems/bundler-1.0.20/lib/bundler/source.rb:352:in `each'
from /Users/me/.rvm/gems/ree-1.8.7-2011.03@myapp/gems/bundler-1.0.20/lib/bundler/source.rb:352:in `load_spec_files'
from /Users/me/.rvm/gems/ree-1.8.7-2011.03@myapp/gems/bundler-1.0.20/lib/bundler/source.rb:570:in `load_spec_files'
from /Users/me/.rvm/gems/ree-1.8.7-2011.03@myapp/gems/bundler-1.0.20/lib/bundler/source.rb:385:in `local_specs'
from /Users/me/.rvm/gems/ree-1.8.7-2011.03@myapp/gems/bundler-1.0.20/lib/bundler/source.rb:555:in `specs'
from /Users/me/.rvm/gems/ree-1.8.7-2011.03@myapp/gems/bundler-1.0.20/lib/bundler/definition.rb:356:in `converge_locked_specs'
from /Users/me/.rvm/gems/ree-1.8.7-2011.03@myapp/gems/bundler-1.0.20/lib/bundler/definition.rb:345:in `each'
from /Users/me/.rvm/gems/ree-1.8.7-2011.03@myapp/gems/bundler-1.0.20/lib/bundler/definition.rb:345:in `converge_locked_specs'
from /Users/me/.rvm/gems/ree-1.8.7-2011.03@myapp/gems/bundler-1.0.20/lib/bundler/definition.rb:143:in `resolve'
from /Users/me/.rvm/gems/ree-1.8.7-2011.03@myapp/gems/bundler-1.0.20/lib/bundler/definition.rb:90:in `specs'
from /Users/me/.rvm/gems/ree-1.8.7-2011.03@myapp/gems/bundler-1.0.20/lib/bundler/definition.rb:85:in `resolve_remotely!'
from /Users/me/.rvm/gems/ree-1.8.7-2011.03@myapp/gems/bundler-1.0.20/lib/bundler/installer.rb:43:in `run'
from /Users/me/.rvm/gems/ree-1.8.7-2011.03@myapp/gems/bundler-1.0.20/lib/bundler/installer.rb:8:in `install'
from /Users/me/.rvm/gems/ree-1.8.7-2011.03@myapp/gems/bundler-1.0.20/lib/bundler/cli.rb:219:in `install'
from /Users/me/.rvm/gems/ree-1.8.7-2011.03@myapp/gems/bundler-1.0.20/lib/bundler/vendor/thor/task.rb:22:in `send'
from /Users/me/.rvm/gems/ree-1.8.7-2011.03@myapp/gems/bundler-1.0.20/lib/bundler/vendor/thor/task.rb:22:in `run'
from /Users/me/.rvm/gems/ree-1.8.7-2011.03@myapp/gems/bundler-1.0.20/lib/bundler/vendor/thor/invocation.rb:118:in `invoke_task'
from /Users/me/.rvm/gems/ree-1.8.7-2011.03@myapp/gems/bundler-1.0.20/lib/bundler/vendor/thor.rb:263:in `dispatch'
from /Users/me/.rvm/gems/ree-1.8.7-2011.03@myapp/gems/bundler-1.0.20/lib/bundler/vendor/thor/base.rb:386:in `start'
from /Users/me/.rvm/gems/ree-1.8.7-2011.03@myapp/gems/bundler-1.0.20/bin/bundle:13
from /Users/me/.rvm/gems/ree-1.8.7-2011.03@myapp/bin/bundle:19:in `load'
from /Users/me/.rvm/gems/ree-1.8.7-2011.03@myapp/bin/bundle:19

关于如何解决此问题的任何想法?

2 个答案:

答案 0 :(得分:1)

尝试使用git git://github.com/sandal/prawn.git手动拉动它,然后将其包含在您的捆绑包中,然后捆绑安装alrytz

答案 1 :(得分:0)

问题在于我使用的rubygems版本。一旦我升级到1.8.15版本,这就适用了。