加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

为什么不能ruby(在Travis CI中)找到我的捆绑安装宝石?

发布时间:2020-12-17 02:55:10 所属栏目:百科 来源:网络整理
导读:我正在尝试设置Travis CI,但 ruby并没有像我期望的那样工作. 看起来Travis CI正在运行我的捆绑安装,但之后立即找不到ruby宝石.这是Travis日志: $ruby --versionruby 2.0.0p481 (2014-05-08 revision 45883) [x86_64-darwin13.1.0]$rvm --versionrvm 1.25.33
我正在尝试设置Travis CI,但 ruby并没有像我期望的那样工作.

看起来Travis CI正在运行我的捆绑安装,但之后立即找不到ruby宝石.这是Travis日志:

$ruby --version
ruby 2.0.0p481 (2014-05-08 revision 45883) [x86_64-darwin13.1.0]
$rvm --version
rvm 1.25.33 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>,Michal Papis <mpapis@gmail.com> [https://rvm.io/]
$bundle --version
Bundler version 1.7.4

[... snip ...]


$bundle install --jobs=3 --retry=3 --deployment
Fetching gem metadata from https://rubygems.org/.........
Fetching additional metadata from https://rubygems.org/..
Installing colorize 0.7.2
Installing json 1.8.1
Using bundler 1.7.4
Installing dnssd 2.0
Your bundle is complete!
It was installed into ./vendor/bundle
$cat Gemfile.lock
GEM
  remote: https://rubygems.org/
  specs:
    colorize (0.7.2)
    dnssd (2.0)
    json (1.8.1)
PLATFORMS
  ruby
DEPENDENCIES
  colorize
  dnssd
  json
The command "cat Gemfile.lock" exited with 0.
$ruby -e "require 'colorize'"
/Users/travis/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- colorize (LoadError)
    from /Users/travis/.rvm/rubies/ruby-2.0.0-p481/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from -e:1:in `<main>'
The command "ruby -e "require 'colorize'"" exited with 1.
Done. Your build exited with 1.

.travis.yml文件现在很简单:

language: objective-c
script:
  - cat Gemfile.lock
  - bundle env
  - ruby -e "require 'colorize'"

我假设我犯了一个简单的错误(可能是一个纯粹的ruby错误),但我看不到它.我在这做错了什么?

解决方法

Bundler并没有神奇地提供东西;你需要在脚本中使用’bundler / setup’来让Bundler设置你的加载路径.

Bundler会将你的宝石安装到你想要的任何路径,但这些宝石不一定会在你的Ruby加载路径中,所以require不一定会找到它们.在使用任何其他宝石之前,您可以通过require’bundler / setup’让Bundler改变您的加载路径以指向已安装捆绑的宝石.这确实要求捆绑器已经在您的加载路径中可用,这通常通过gem install bundler完成. Travis预装了它,所以你不需要做任何特别的事情来使用它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读