[英]Guard-jasmine syntax errors only when run from git pre-commit hook
我有一个带有以下内容的预提交钩子:
#!/bin/sh
cd web
bundle exec guard-jasmine
(由于将Gemfile和应用程序设置在其中,因此将它CD到Web中)
提交时,我遇到许多语法错误,其中第一个是:
/Users/myusrname/.rvm/gems/ruby-2.0.0-p0/gems/guard-1.8.0/lib/guard.rb:400:in `require':
/Users/myusrname/.rvm/gems/ruby-2.0.0-p0/gems/guard-jasmine-1.16.0/lib/guard/jasmine.rb:25: odd number list for Hash (SyntaxError)
server: :auto,
/Users/myusrname/.rvm/gems/ruby-2.0.0-p0/gems/guard-jasmine-1.16.0/lib/guard/jasmine.rb:25: syntax error, unexpected ':', expecting '}'
server: :auto,
在命令行中键入bundle exec guard-jasmine
和guard-jasmine
可以正常运行
有什么我想念的吗?
即使RVM gem路径包含ruby-2.0.0-p0,看起来卫冕茉莉花也在Ruby 1.8.7上运行。 在Ruby 1.8中使用新的Ruby 1.9 Hash语法时,会抛出odd number list for Hash (SyntaxError)
的错误odd number list for Hash (SyntaxError)
。
你需要
由于Ruby 1.8.7无论如何都将终止,所以我建议尝试在pre-commit-hook中初始化RVM:
#!/bin/sh
cd web
source "$HOME/.rvm/scripts/rvm"
rvm reload > /dev/null
bundle exec guard-jasmine
这意味着您已经设置了默认的Ruby版本
$ rvm --default use 1.9.2
rvm reload || exit $?
RUBY=`which ruby`
RUBY_DIR=`dirname $RUBY`
GEM_DIR=`rvm gemdir`
export PATH="$GEM_DIR/bin:$RUBY_DIR:$PATH"
gem install bundler
bundle install
bundle exec guard-jasmine
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.