繁体   English   中英

中间人服务器将无法启动,正则表达式内部无效

[英]Middleman server will not start, regexp has invalid internal

我已经搬走了托管服务提供商,并重新安装了ruby和middleman。

当我运行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/middleman-s3_sync-3.0.21/lib/middleman/s3_sync.rb:54 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 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 require'来自/var/lib/gems/1.8/gems/bundler-1.3.5/lib/bundler/runtime.rb:72:in require' from /var/lib/gems/1.8/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in :来自/var/lib/gems/1.8/gems/bundler-1.3.5/lib/bundler/runtime.rb:70:in require' 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:in require' from /var/lib/gems/1.8/gems/bundler-1.3.5/lib/bundler.rb:132:in require'来自/ 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:in load'从/ usr / lo 卡/箱/中间人:19

我的Ruby知识很差,但是当我看代码时,看不到语法错误。 我看过s3_sync git中心代码,这段时间的代码没有改变。 我怀疑这是一个编码问题,但是我在尝试修复它时有些卡住。 您可以散发出的任何光都会很有帮助。

附加信息:我已经尝试过Ruby 1.8和1.9.3。 这是在Ubuntu 12.04上。

SyntaxError似乎在Middleman内部对此有所抱怨:

ProgressBar.create(total: paths.length)

/var/lib/gems/1.8/路径表示您正在使用Ruby1.8.X。 但是JavaScript样式的Hash表示法:

total: paths.length

在1.8中不起作用,您必须在其中使用:total => paths.length表示法。 看来您无法在1.8.7上使用该版本的Middleman,要么升级至1.9.3+,要么将Middleman降级至与较旧的Rubies兼容的版本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM