web-dev-qa-db-ja.com

Travis CIのmacOSでHomebrewのRubyバージョンを変更するには?

実行しようとしています

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。面白いのは、.travis.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'.
10

あなたの選択はどちらを使用するかのようです

brew update
brew install whatever

または

HOMEBREW_NO_AUTO_UPDATE=1 brew install whatever

travis documentation のアドバイスはbrew update必要がないと思われる場合、brewのRuby要件が変更されると、ランダムに破損する危険があります...

11
jturney
  • 醸造アップデート
  • rubyビルドを作成する
  • rbenvを作成する
  • rbenv install [version_required]
  • rbenv global [version_required]
9
lexisvar

.NET Coreプロジェクトの場合:Travisのデフォルトの.NET Coreを使用せず、Microsoftの.NET core shスクリプトを使用してインストールすることにより、brewの使用を回避できます。以前は、monodotnetのバージョン定義セットがありましたが、shスクリプトに切り替えた後、これらの定義は不要であることがわかりました。これら2つの定義を削除することで、Homebrew must be run under Ruby 2.3!エラーを修正できました(ただし、.NETコアのインストールを行う前に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
2
yper

MacOSでHomebrewのRubyバージョンを変更し、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
0
leompeters

ランニング brew updatebrew install package_name

0
venna