在尝试将“自托管”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相关的东西。我对这项技术并不是那么敏锐。
答案 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
应该没问题。