448 Stimmen

rbenv ändert nicht die Ruby-Version

Ich installierte rbenv gemäß der Github-Anleitung. Ich bin OSX ausgeführt, aber ich habe versucht, diese auf einem Ubuntu 12.04 VM und erhielt die gleichen Ergebnisse. Das Folgende ist, was ich in meinem Terminal erhalte, wenn ich versuche, Ruby-Versionen zu ändern:

rbenv versions
* 1.9.3-p0 (set by /Users/user/.rbenv/version)
1.9.3-p125

rbenv global
1.9.3-p0

rbenv rehash

ruby -v
ruby 1.8.7 (2011-12-28 patchlevel 357) [universal-darwin11.0]

which ruby
/usr/bin/ruby

Hat irgendjemand eine Idee, warum rbenv die Ruby-Version nicht umschaltet, wie es glaubt, dass es ist? Es gibt auch keine .rbenv-Datei im lokalen Verzeichnis, die dazu führen würde, dass die Ruby-Version standardmäßig auf 1.8.7 gesetzt wird.

rbenv local
rbenv: no local version configured for this directory

0voto

David Hempy Punkte 4156

Alle anderen Antworten hier geben gute Ratschläge für verschiedene Situationen, aber es gibt einen einfacheren Weg.

Die rbenv-Dokumente verweisen uns auf das Diagnosewerkzeug rbenv-doctor, mit dem sich all diese potenziellen Fallstricke auf Ihrem System schnell überprüfen lassen:

curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash

Wenn alles in Ordnung ist, werden Sie das sehen:

$ curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash                                     <aws:hd-pmp-developer>
Checking for `rbenv' in PATH: /usr/local/bin/rbenv
Checking for rbenv shims in PATH: OK
Checking `rbenv install' support: /usr/local/bin/rbenv-install (ruby-build 20201005)
Counting installed Ruby versions: 1 versions
Checking RubyGems settings: OK
Auditing installed plugins: OK

Wenn wir nun eine dieser Erwartungen brechen (z.B. rbenv-install entfernen), wird uns das Tool direkt auf das Problem hinweisen, mit einem Link, wie man es beheben kann:

$ mv /usr/local/bin/rbenv-install rbenv-install-GONE

$ curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash                                     
Checking for `rbenv' in PATH: /usr/local/bin/rbenv
Checking for rbenv shims in PATH: OK

===> Checking `rbenv install' support: not found <===
  Unless you plan to add Ruby versions manually, you should install ruby-build.
  Please refer to https://github.com/rbenv/ruby-build#installation

Counting installed Ruby versions: 1 versions
Checking RubyGems settings: OK
Auditing installed plugins: OK

0voto

Sachin D Naik Punkte 26

Das Hinzufügen von eval "$(rbenv init -)" zum .bash_profile auf meinem Mac löste dieses Problem. rbenv lokal ruby -v ergab den Satz

0voto

postmodern Punkte 454

Sie könnten versuchen chruby ? chruby verlässt sich nicht auf Unterlegscheiben, sondern modifiziert nur PATH , GEM_HOME , GEM_PATH .

-1voto

Harshal Y. Punkte 4467

enter image description here

Offenbar hat es bei mir funktioniert, als ich die Rosetta Terminal

Sie können versuchen, das Gleiche mit Rosetta Terminal

indem ich in

Finder > Dienstprogramme > Terminal > Info abrufen

-4voto

Raja Bose Punkte 304

Ich schlage vor, rbenv nicht zu verwenden, da es einige Probleme gibt.

  1. nach der Installation von Ruby wird keine Bundle-Version mitgeliefert
  2. Meistens wird bei der Bundle-Installation ein Problem mit der Bundler-Version erzeugt

Um diesen Aufwand zu reduzieren, würde ich vorschlagen, rvm zu verwenden, das macht das Leben einfacher. Folgen Sie diesem Link, um rvm zu installieren https://nrogap.medium.com/install-rvm-in-macos-step-by-step-d3b3c236953b

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X