2

在尝试将“自托管”Gitorious 部署到 Dreamhost 共享主机帐户时,我在“捆绑安装”命令期间在 Gemfile 中收到语法错误:

$ bundle install --path vendor/bundle
Gemfile syntax error:
/home/<user>/git.<user>.org/Gemfile:33: syntax error, unexpected ':', expecting $end

宝石'坚固',git:' https://github.com/libgit2/r ... ^

这是令人窒息的 Gemfile 行:

gem 'rugged', git: 'https://github.com/libgit2/rugged.git', branch: 'development', submodules: true

ruby 的版本有点旧,一些谷歌搜索让我觉得这可能很重要......

[footprint]$ ruby --version
ruby 1.8.7 (2010-08-16 patchlevel 302) [x86_64-linux]

有人有想法么?我最接近 Ruby 故障排除的方法是在工作中设置一些与 Puppet 相关的东西。我对这项技术不是那么敏锐。

4

1 回答 1

3

是的,

该行的第二个参数是哈希。

ruby 1.8.7 不支持新的哈希表示法
a = { b: 1 }

这从 ruby​​ 1.9 及更高版本开始有效。

对于 ruby​​ 1.8.7,你需要像这样格式化你的哈希:

a = { :b => 1 }

所以在你的情况下:

gem 'rugged', :git => 'https://github.com/libgit2/rugged.git', :branch => 'development', :submodules => true

应该可以。

于 2014-01-26T17:31:25.273 回答