4

私は自分のテクニカル ブログにoctopressを使用しています。公式の octopress リポジトリから octopress コードを更新しましたが、実行すると次のようなエラーが表示されますrake generate

 |1.9.3-p194| home in ~/Documents/work/git/muratcorlu.github.com
± |source ✓| → rake generate
## Generating Site with Jekyll
directory source/stylesheets/ 
   create source/stylesheets/screen.css 
Configuration from /Users/muratcorlu/Documents/work/git/muratcorlu.github.com/_config.yml
/Users/muratcorlu/Documents/work/git/muratcorlu.github.com/plugins/category_generator.rb:109: warning: regexp has invalid interval
/Users/muratcorlu/Documents/work/git/muratcorlu.github.com/plugins/category_generator.rb:109: warning: regexp has `}' without escape
/Users/muratcorlu/Documents/work/git/muratcorlu.github.com/plugins/category_generator.rb:146: warning: regexp has invalid interval
/Users/muratcorlu/Documents/work/git/muratcorlu.github.com/plugins/category_generator.rb:146: warning: regexp has `}' without escape
/Library/Ruby/Gems/1.8/gems/jekyll-0.11.2/bin/../lib/jekyll/site.rb:76:in `require': /Users/muratcorlu/Documents/work/git/muratcorlu.github.com/plugins/image_tag.rb:27: undefined (?...) sequence: /(?<class>\S.*\s+)?(?<src>(?:https?:\/\/|\/|\S+\/)\S+)(?:\s+(?<width>\d+))?(?:\s+(?<height>\d+))?(?<title>\s+.+)?/ (SyntaxError)
/Users/muratcorlu/Documents/work/git/muratcorlu.github.com/plugins/image_tag.rb:29: undefined (?...) sequence: /(?:"|')(?<title>[^"']+)?(?:"|')\s+(?:"|')(?<alt>[^"']+)?(?:"|')/
    from /Library/Ruby/Gems/1.8/gems/jekyll-0.11.2/bin/../lib/jekyll/site.rb:76:in `setup'
    from /Library/Ruby/Gems/1.8/gems/jekyll-0.11.2/bin/../lib/jekyll/site.rb:75:in `each'
    from /Library/Ruby/Gems/1.8/gems/jekyll-0.11.2/bin/../lib/jekyll/site.rb:75:in `setup'
    from /Library/Ruby/Gems/1.8/gems/jekyll-0.11.2/bin/../lib/jekyll/site.rb:30:in `initialize'
    from /Library/Ruby/Gems/1.8/gems/jekyll-0.11.2/bin/jekyll:224:in `new'
    from /Library/Ruby/Gems/1.8/gems/jekyll-0.11.2/bin/jekyll:224
    from /usr/bin/jekyll:23:in `load'
    from /usr/bin/jekyll:23

何が問題ですか?

4

1 に答える 1

1

まず、irb で RegEx を試しました。

$ irb
irb(main):001:0> /(?:"|')(?<title>[^"']+)?(?:"|')\s+(?:"|')(?<alt>[^"']+)?(?:"|')/
=> /(?:"|')(?<title>[^"']+)?(?:"|')\s+(?:"|')(?<alt>[^"']+)?(?:"|')/
irb(main):002:0> 

エラーは発生しませんでしたが、サーバー上のデフォルトの Ruby バージョンが 1.8.7 であることがわかりました。

rvm から ruby​​-1.9.3-p551 を選択して有効にしました。

私は次のことをしました:

rvm use ruby-1.9.3-p551
bundle install
bundle exec rake generate

これでエラーが解決しました。

于 2014-12-15T06:07:17.677 に答える