Как изменить версию Ruby для Homebrew в macOS в Travis CI?
пытается запустить
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install python3; fi
на before_install
, Я
/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
поэтому я предполагаю, что проблема здесь в том, что ruby
находится на версии 2.0, которую я подтвердил с ruby --version
. Самое смешное, что мои сборки просто перестали работать внезапно, без каких-либо изменений .Трэвис.в формате YML.
Итак,как мне изменить версии Ruby?
может быть важно не, что раньше git clone
запустить я получаю это:
$ rvm use
Warning! PATH is not properly set up, '/Users/travis/.rvm/gems/ruby-2.0.0-p648/bin' is not at first place,
usually this is caused by shell initialization files - check them for 'PATH=...' entries,
it might also help to re-add RVM to your dotfiles: 'rvm get stable --auto-dotfiles',
to fix temporarily in this shell session run: 'rvm use ruby-2.0.0-p648'.
5 ответов
ваш выбор, похоже, либо использовать
brew update
brew install whatever
или
HOMEBREW_NO_AUTO_UPDATE=1 brew install whatever
совет Тревис документации не делать brew update
если это не кажется необходимым, кажется, оставить вас под угрозой случайного поломки, когда требование Рубина brew изменяется...
- brew update
- brew install ruby-build
- brew установить rbenv
- rbenv установить [version_required]
- rbenv global [version_required]
для проектов .NET Core: вы можете избежать использования brew, не используя .NET Core по умолчанию Travis, но установив его с помощью сценария Microsoft .NET core sh. Раньше у меня было mono
и dotnet
набор определений версий, который я нашел, не был нужен после переключения на сценарий sh. Я смог исправить Homebrew must be run under Ruby 2.3!
ошибка, удалив эти два определения (хотя мне тогда пришлось обновить libunwind8
в Linux перед установкой .NET core).
вот полный .Трэвис.и YAML для запуск теста проекта .NET core на osx и linux.
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
Я добился успеха в изменении версии Ruby для Homebrew в macOS, создав личный токен доступа на GitHub и установив его на моем Mac как:
https://github.com/settings/tokens/new?scopes=gist,public_repo&description=Homebrew
и затем установите маркер:
export HOMEBREW_GITHUB_API_TOKEN="your_new_token"
Если у вас уже есть этот набор токенов, вы можете очистить их с помощью:
printf "protocol=https\nhost=github.com\n" | git credential-osxkeychain erase