如何在Travis CI中更改macOS中自制的Ruby版本?

如何在Travis CI中更改macOS中自制的Ruby版本?,ruby,macos,homebrew,travis-ci,Ruby,Macos,Homebrew,Travis Ci,试图逃跑 if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install python3; fi 在安装之前的中,我以 /usr/local/Homebrew/Library/Homebrew/brew.rb:12:in \`<main>': Homebrew must be run under Ruby 2.3! (RuntimeError) The command "if [[ "$TRAVIS_OS_NAME" == "os

试图逃跑

if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install python3; fi
在安装之前的
中,我以

/usr/local/Homebrew/Library/Homebrew/brew.rb:12:in \`<main>': Homebrew must be run under Ruby 2.3! (RuntimeError)  

The command "if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install python3; fi" failed and exited with 1 during .

Your build has been stopped.

/Users/travis/.travis/job_stages: line 166: shell_session_update: command not found  

你的选择似乎是要么使用

brew update
brew install whatever


如果brew的ruby要求发生变化,则在中建议不要进行
brew更新

对于.NET Core项目:您可以通过不使用Travis的默认.NET Core,而是使用Microsoft的.NET Core sh脚本安装来避免使用brew。我以前有
mono
dotnet
版本定义集,我发现在切换到sh脚本后不需要这些定义集。我能够修复必须在Ruby 2.3下运行的
自制软件libunwind8
),代码>错误

下面是在osx和linux上运行.NET核心项目测试的完整.travis.yaml

language: csharp

before_install:
  - if [ "$OS" = "linux" ]; then sudo apt-get install libunwind8; fi

script:
  - wget https://dot.net/v1/dotnet-install.sh && chmod +x dotnet-install.sh
  - ./dotnet-install.sh --version 1.1.4 --install-dir $HOME/.dotnet
  - $HOME/.dotnet/dotnet restore
  - $HOME/.dotnet/dotnet test YOUR_CSPROJ_FILE_PATH

matrix:
  include:
    - os: linux
      dist: trusty
      env: OS=linux
    - os: osx
      osx_image: xcode9
      env: OS=osx

branches:
  only:
    - master
  • brew更新
  • brew安装ruby build
  • brew安装rbenv
  • rbenv安装[需要版本]
  • rbenv global[需要版本]

我成功地在macOS中为自制软件更改了Ruby版本,在GitHub上创建了一个个人访问令牌,并在我的Mac上设置为:

然后将令牌设置为:

export HOMEBREW_GITHUB_API_TOKEN="your_new_token"
如果您已经设置了此令牌,可以使用以下方法清除它们:

printf "protocol=https\nhost=github.com\n" | git credential-osxkeychain erase

brew安装软件包\u name

之前运行
brew update
,我在安装mutt时遇到类似问题。我正在阅读以下内容,不知道您是否正在使用rvm管理Ruby版本。是这样吗?我可以确认这在版本2.0.0中对我有效,因为我的项目需要2.0.NET核心SDK。感谢分享此解决方案。
export HOMEBREW_GITHUB_API_TOKEN="your_new_token"
printf "protocol=https\nhost=github.com\n" | git credential-osxkeychain erase