[英]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:54require': /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:inrequire' 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: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: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.