Dreamhost上的Gitorious:Gemfile语法错误

时间:2014-01-26 17:27:14

标签: ruby passenger gitorious

在尝试将“自托管”Gitorious部署到Dreamhost共享主机帐户时,我在“bundle install”命令期间在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相关的东西。我对这项技术并不是那么敏锐。

1 个答案:

答案 0 :(得分: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

应该没问题。