我已经移动主机供应商和重新安装红宝石和中间人。
当我运行bundle exe middleman server时,我得到:
/var/lib/gems/1.8/gems/haml-4.0.4/lib/haml/parser.rb:86:警告: regexp有无效的间隔/var/lib/gems/1.8/gems/middleman-s3_sync-3.0.21/lib/middleman-s3_sync.rb:2:in
require': /var/lib/gems/1.8/gems/middleman-s3_sync-3.0.21/lib/middleman/s3_sync.rb:54: syntax error, unexpected ':', expecting ')' (SyntaxError) @progress_bar ||= ProgressBar.create(total: paths.length) ^ /var/lib/gems/1.8/gems/middleman-s3_sync-3.0.21/lib/middleman/s3_sync.rb:54: syntax error, unexpected ')', expecting kEND /var/lib/gems/1.8/gems/middleman-s3_sync-3.0.21/lib/middleman/s3_sync.rb:67: syntax error, unexpected '.', expecting kEND ... .reject { |p| File.directory?(p... ^ /var/lib/gems/1.8/gems/middleman-s3_sync-3.0.21/lib/middleman/s3_sync.rb:137: syntax error, unexpected $end, expecting kEND from /var/lib/gems/1.8/gems/middleman-s3_sync-3.0.21/lib/middleman-s3_sync.rb:2 from /var/lib/gems/1.8/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in要求“从/var/lib/gems/1.8/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:inrequire' from /var/lib/gems/1.8/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:inrequire': /var/lib/gems/1.8/gems/middleman-s3_sync-3.0.21/lib/middleman/s3_sync.rb:54: syntax error, unexpected ':', expecting ')' (SyntaxError) @progress_bar ||= ProgressBar.create(total: paths.length) ^ /var/lib/gems/1.8/gems/middleman-s3_sync-3.0.21/lib/middleman/s3_sync.rb:54: syntax error, unexpected ')', expecting kEND /var/lib/gems/1.8/gems/middleman-s3_sync-3.0.21/lib/middleman/s3_sync.rb:67: syntax error, unexpected '.', expecting kEND ... .reject { |p| File.directory?(p... ^ /var/lib/gems/1.8/gems/middleman-s3_sync-3.0.21/lib/middleman/s3_sync.rb:137: syntax error, unexpected $end, expecting kEND from /var/lib/gems/1.8/gems/middleman-s3_sync-3.0.21/lib/middleman-s3_sync.rb:2 from /var/lib/gems/1.8/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in”来自/var/lib/gems/1.8/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:inrequire' from /var/lib/gems/1.8/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:in每一个“来自/var/lib/gems/1.8/gems/bundler-1.3.5/lib/bundler/runtime.rb:59:inrequire' from /var/lib/gems/1.8/gems/bundler-1.3.5/lib/bundler.rb:132:inrequire”来自/var/lib/gems/1.8/gems/middleman-core-3.2.0/lib/middleman-core/load_paths.rb:38::在setup_load_paths' from /var/lib/gems/1.8/gems/middleman-core-3.2.0/bin/middleman:10 from /usr/local/bin/middleman:19:inload‘from /usr/local/bin/middleman中:19
我的Ruby知识很差,但是当我查看代码时,我没有看到语法错误。我看了一下s3_sync git代码,这部分代码已经有一段时间没有改变了。我怀疑这是一个编码问题,但我在试图修复它的时候有点卡住了。你所能提供的任何光都会很有帮助。
附加信息:我尝试过Ruby1.8和1.9.3。这是在Ubuntu 12.04上。
发布于 2013-11-13 00:00:06
SyntaxError似乎在抱怨中间商的这种行为:
ProgressBar.create(total: paths.length)/var/lib/gems/1.8/路径表明您使用的是Ruby1.8.X。
total: paths.length在1.8中不起作用,您必须在那里使用:total => paths.length符号。看起来你不能用1.8.7版本的中间人,或者升级到1.9.3+,或者把你的中间人降级到一些旧的Rubies上。
https://stackoverflow.com/questions/19940993
复制相似问题