0

我正在尝试在 Travis CI 上安装 linuxbrew,但由于我不明白的原因而失败。Travis CI 声称:

default ruby version
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]

但是当我的 .travis.yml 文件执行以下操作时:

 sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"

它失败于:

HEAD is now at 851177a29 docs: update gems. (#569)
/usr/lib/ruby/1.9.1/rubygems/version.rb:191:in `strip!': can't modify frozen String (RuntimeError)
    from /usr/lib/ruby/1.9.1/rubygems/version.rb:191:in `initialize'
    from -e:1:in `new'
    from -e:1:in `<main>'
/home/linuxbrew/.linuxbrew/Homebrew/Library/Homebrew/brew.rb:12:in `<main>': Homebrew must be run under Ruby 2.3! You're running 1.9.3. (RuntimeError)
Failed during: /home/linuxbrew/.linuxbrew/bin/brew update --force

我认为这曾经有效(去年),但突然之间它失败了。如何在 Travis CI 上“信任”安装 Linuxbrew?

编辑

这是我的 .travis.yml

language: cpp
sudo: required
dist: trusty

before_install:
  - sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"

结束编辑

谢谢。

4

1 回答 1

1

Travis CI 上的 Linuxbrew 似乎在识别安装了哪个版本的 Ruby 时出现问题。要修复,请使用以下替代安装方法:

git clone https://github.com/Linuxbrew/brew.git ~/.linuxbrew
export HOMEBREW_FORCE_VENDOR_RUBY=1

在该before_install部分

于 2018-01-23T09:17:52.693 回答