【问题标题】:"bundle install" fails when setting :git path in Gemfile在 Gemfile 中设置 :git 路径时“捆绑安装”失败
【发布时间】:2011-09-30 17:25:09
【问题描述】:

我想从主源分支而不是从 gem 存储库更新我的一个 gem。所以我把它放在我的 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

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

【问题讨论】:

  • 你可以试试git://github.com/sandal/prawn.git
  • 同样的问题。
  • ok 刚刚尝试在我的一个项目中以这种方式包含 prawn,它适用于 ruby​​ 1.8.7、1.9.2 bundler 1.0.15 和 1.0.20。如果您从 gemfile 中删除 prawn 行,bundle install 可以正常工作吗?
  • 要安装 ree,并尝试使用它,只是一个妈妈。

标签: ruby-on-rails bundler prawn


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    问题出在我使用的 ruby​​gems 版本上。一旦我升级到 1.8.15 版,它就可以正常工作了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-19
      • 2014-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-02
      相关资源
      最近更新 更多