2013-08-21 8 views
0

у меня есть перед фиксацией ловушки со следующим:Guard-жасмин синтаксических ошибок при запуске из мерзавца предварительно совершить крюк

#!/bin/sh 
cd web 
bundle exec guard-jasmine 

(это компакт-дисков в Интернет, потому что Gemfile и приложение устанавливаются там)

при совершении я получаю ряд ошибок синтаксиса, первый из которых заключается в следующем:

/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 работать нормально при вводе в командной строке

Есть ли что-то, что мне не хватает?

ответ

0

Похоже, что охранник-жасмин работает с Ruby 1.8.7, даже если путь Gem RVM содержит ruby-2.0.0-p0. При использовании нового синтаксиса Ruby 1.9 Hash в Ruby 1.8 выдается ошибка odd number list for Hash (SyntaxError).

Вам нужно либо

  • Убедитесь, что Git предварительно совершить крюк используется, по крайней мере Ruby 1.9
  • Использование Guard :: Jasmine версия 1.14.0, которая прекрасно работает на Ruby 1.8

с Руби 1.8.7 является истекшим сроком эксплуатации в любом случае, я хотел бы предложить, чтобы попытаться инициализировать 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 
+0

Я думаю, что он использует рубин 1.8.7, я должен буду спасибо, что я могу изменить его, спасибо. – Dawn

+0

http://stackoverflow.com/questions/17515769/why-is-my-ruby-git-script-hook-run-with-the-wrong-path <- это также было полезно – Dawn

0

лучшее решение до сих пор (по крайней мере, для меня):

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 
+0

Я закончил с этим: https://gist.github.com/debugwand/6378438 - Установка инсталляции пакета или пакета не установлена. – Dawn