如何在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下运行的自制软件通过删除这两个定义(尽管在进行.NETCore安装之前,我必须在Linux上更新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