安装的 gem 寻找错误的路径(Travis 构建)

Installed gems looking in the wrong path (Travis build)

我在使用 OSX Travis 构建时遇到了持续的问题。当前的问题是由于此错误无法安装 运行 gems,显然它在错误的位置查找,因为它应该是 2.1.10:

Could not find 'sass' (>= 0.a) among 298 total gem(s) (Gem::LoadError)
Checked in 'GEM_PATH=/Users/travis/.rvm/gems/ruby-2.0.0-p648:/Users/travis/.rvm/gems/ruby-2.0.0-p648@global', execute `gem env` for more information
    from /Users/travis/.rvm/rubies/ruby-2.0.0-p648/lib/ruby/site_ruby/2.0.0/rubygems/dependency.rb:324:in `to_spec'
    from /Users/travis/.rvm/rubies/ruby-2.0.0-p648/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_gem.rb:64:in `gem'
    from /Users/travis/.rvm/gems/ruby-2.1.10/bin/sass-convert:25:in `<main>'
    from /Users/travis/.rvm/gems/ruby-2.0.0-p648/bin/ruby_executable_hooks:15:in `eval'
    from /Users/travis/.rvm/gems/ruby-2.0.0-p648/bin/ruby_executable_hooks:15:in `<main>'

我已经输出了所有我能想到的帮助调试的东西,但不知道该找什么了。有什么想法吗?编辑:抱歉,以为链接会直接转到行,看起来他们没有。仍然很容易找到,它们都从第 2623 行开始分组。

路径:https://travis-ci.org/szeck87/atom-beautify/jobs/290674283#L2623

gem 环境:https://travis-ci.org/szeck87/atom-beautify/jobs/290674283#L2624-L2665

GEM_PATH: https://travis-ci.org/szeck87/atom-beautify/jobs/290674283#L2666-L2667

rvm 信息:https://travis-ci.org/szeck87/atom-beautify/jobs/290674283#L2668-L2715

哪个ruby:https://travis-ci.org/szeck87/atom-beautify/jobs/290674283#L2716-L2717

哪个gem:https://travis-ci.org/szeck87/atom-beautify/jobs/290674283#L2718-L2719

gem 列表:https://travis-ci.org/szeck87/atom-beautify/jobs/290674283#L2720-L2874

问题是由 Travis 环境变量 TRAVIS_COMMIT_MESSAGE 引起的。当你在 GitHub 上合并 PR 时,默认的提交消息有一个 "message" 和一个 "description",由换行符分隔。 TRAVIS_COMMIT_MESSAGE 中的换行符导致 Ruby and/or Rubygems.

出现路径问题

通过在最开始的 before_install 步骤中将以下内容添加到我们的 .travis.yml 中,通过清空环境变量解决了这个问题:

- export TRAVIS_COMMIT_MESSAGE=""