仅当从git预提交钩子运行时才保护jasmine语法错误
我有一个带有以下内容的预提交钩子:仅当从git预提交钩子运行时才保护jasmine语法错误,git,jasmine,guard,pre-commit-hook,Git,Jasmine,Guard,Pre Commit Hook,我有一个带有以下内容的预提交钩子: #!/bin/sh cd web bundle exec guard-jasmine (由于文件和应用程序都设置在web上,所以会将其刻录到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/ge
#!/bin/sh
cd web
bundle exec guard-jasmine
(由于文件和应用程序都设置在web上,所以会将其刻录到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
在命令行中键入时运行良好
有什么我遗漏的吗?看起来guard jasmine正在使用Ruby 1.8.7运行,即使RVM gem路径包含Ruby-2.0.0-p0。在Ruby 1.8中使用新的Ruby 1.9哈希语法时,会抛出哈希的奇数列表(SyntaxError) 你要么
- 确保Git预提交钩子至少使用了Ruby 1.9
- 使用Guard::Jasmine 1.14.0版,它在Ruby 1.8上运行良好
#!/bin/sh
cd web
source "$HOME/.rvm/scripts/rvm"
rvm reload > /dev/null
bundle exec guard-jasmine
这意味着您已经设置了默认的Ruby版本
$ rvm --default use 1.9.2
迄今为止的最佳解决方案(至少对我而言):
我认为它使用的是ruby 1.8.7,我需要做一些挖掘,看看如何更改它,谢谢。我的结论是:-没有安装bundler或bundle安装。
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