2017-10-10 15 views
9

, ben Yani burada mesele ruby Ben ruby --version teyit sürüm 2.0, üzerinde olmasıdır varsayalım

/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 

ile bitirmek. Komik olan şu ki, yapılarım sadece aniden çalışmayı durdurdu, herhangi bir değişiklik yapmadan .travis.yml.
Peki, Ruby sürümlerini nasıl değiştirebilirim?

$ 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'. 
+0

Mutt'u yükleme konusunda benzer bir sorun yaşıyorum. Aşağıdakileri okuyorum, ilgili https://discuss.circleci.com/t/homebrew-must-be-run-under-ruby-2-3-runtimeerror/17232/6 –

+0

gibi olup olmadığını bilmiyorum Ruby sürümlerini yönetmek için rvm kullanıyorsunuz. Bu doğru mu? – zee

cevap

10

Seçenekleriniz ya

brew update 
brew install whatever 

veya

HOMEBREW_NO_AUTO_UPDATE=1 brew install whatever 

Kullanmak için görünmektedir:

git clone çalıştırılır önce bu olsun, değil önemli olabilirdi Eğer ne yazık ki görünmüyorsa travis documentation'da brew update brew's ruby ​​gereksinimi değiştiğinde eded sizi rasgele kırılma riski altında bırakıyor gibi görünüyor ...

2

.NET Core projeleri için: Travis'in varsayılan .NET Core'unu kullanarak değil, Microsoft'u kullanarak yükleyerek demleme kullanmaktan kaçabilirsiniz. NET çekirdek sh komut dosyası. Sh komut dosyasına geçtikten sonra ihtiyaç duymadığım için mono ve dotnet sürüm tanımları ayarlamıştım. Bu iki tanımları kaldırarak Homebrew must be run under Ruby 2.3! hatasını düzeltebildim (daha sonra .NET çekirdek yüklemesini yapmadan önce Linux'ta libunwind8 güncellemesine rağmen).

İşte osx ve linux üzerinde .NET çekirdeği proje testi çalıştırmak için tam .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 
+1

Projelerimin 2.0 .NET Core SDK'ye ihtiyacı olduğundan, bunun benim için --version 2.0.0 ile çalıştığını onaylayabilirim. Bu çözümü paylaştığınız için teşekkür ederiz. –

7
  • demlemek güncelleme
  • demlemek [version_required]
  • rbenv küresel [version_required]
0

aldığım başarıyı yüklemek rbenv rbenv yüklemek

  • demlemek yakut-build yüklemek MacOS'ta Homebrew için Ruby versiyonunu değiştirerek kişisel bir toke oluşturma GitHub üzerinde n ve benim Mac üzerinde ayarlama:

    https://github.com/settings/tokens/new?scopes=gist,public_repo&description=Homebrew

    Sonra ile jetonu ayarlayın: Zaten bu belirteç kümesi varsa

    export HOMEBREW_GITHUB_API_TOKEN="your_new_token" 
    

    , sen bunları temizleyebilirsiniz:

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

    önce brew update çalışan

    İlgili konular