Sie haben Recht, dass Sie mit macOS mit der auf Ihrem Mac installierten Ruby-Version nichts ändern können. Es ist jedoch möglich, Edelsteine wie die bundler
Verwendung einer separaten Version von Ruby zu installieren, die die von Apple bereitgestellte nicht beeinträchtigt.
Es sudo
wird dringend davon abgeraten, Gems zu installieren oder Berechtigungen für Systemdateien und -verzeichnisse zu ändern, selbst wenn Sie wissen, was Sie tun. Können wir bitte aufhören, diesen schlechten Rat zu geben?
Die Lösung umfasst zwei Hauptschritte:
- Installieren Sie eine separate Version von Ruby, die die mit Ihrem Mac gelieferte Version nicht beeinträchtigt.
- Aktualisieren Sie Ihre Datei
PATH
so, dass der Speicherort der neuen Ruby-Version an erster Stelle steht PATH
. Die Liste der Verzeichnisse und die Reihenfolge, in der der Computer sie sucht, um ausführbare Programme zu finden, wird als bezeichnet PATH
. Wenn Sie echo $PATH
Terminal eingeben, wird die Liste der Verzeichnisse angezeigt, die durch einen Doppelpunkt getrennt sind.
Es gibt verschiedene Möglichkeiten, Ruby auf einem Mac zu installieren. Der beste Weg, den ich empfehle und den ich mir in den verschiedenen Installationsanweisungen gewünscht habe, ist die Verwendung eines automatisierten Skripts , das eine geeignete Ruby-Umgebung für Sie einrichtet. Dies verringert die Wahrscheinlichkeit eines Fehlers aufgrund unzureichender Anweisungen, die den Benutzer dazu veranlassen, eine Reihe von Aufgaben manuell auszuführen, drastisch und überlässt es ihnen, alle erforderlichen Schritte herauszufinden.
Die andere Möglichkeit besteht darin, zusätzliche Zeit damit zu verbringen, alles manuell zu erledigen und auf das Beste zu hoffen. Zunächst möchten Sie Homebrew installieren , um die Installation anderer Tools und MacOS-Apps zu vereinfachen.
Die 4 beliebtesten Möglichkeiten, eine separate Version von Ruby zu installieren, sind:
Wenn Sie nicht mehr als eine Version von Ruby gleichzeitig benötigen (außer der mit macOS gelieferten)
- Homebrew - Sobald es installiert ist, installieren Sie Ruby mit
brew install ruby
und aktualisieren Sie es dann, PATH
indem Sie es ausführen echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.bash_profile
, gefolgt vonsource ~/.bash_profile
Wenn Sie die Flexibilität wünschen, einfach zwischen vielen Ruby-Versionen zu wechseln
chruby und ruby-install - meine persönlichen Empfehlungen und diejenigen, die vom oben genannten Skript automatisch installiert werden. Diese können mit Homebrew installiert werden.
rbenv - kann mit Homebrew installiert werden
RVM
Um zu überprüfen, ob Sie jetzt die Nicht-Systemversion von Ruby verwenden, können Sie die folgenden Befehle ausführen:
which ruby
Es sollte etwas anderes sein als /usr/bin/ruby
ruby -v
Es sollte etwas anderes als 2.3.7 sein. Ab heute ist 2.6.1 die neueste Ruby-Version.
Sobald Sie diese neue Version von Ruby installiert haben, können Sie jetzt den Bundler installieren:
gem install bundler
rbenv
Sie tunecho 'eval "$(rbenv init -)"' >> ~/.bash_profile
. Quellesudo chown -R $(whoami) $(brew --prefix)/*
. Siehe diesen Thread für weitere Informationenwhich ruby
zurück/usr/bin/ruby
. Sollte ich herausfinden, wo sich die neue (rbenv-Installation) von Ruby befindet, und den Pfad aktualisieren, damit der Speicherort vor der Mac-Installation angezeigt wird?Wenn Sie nicht laufen möchten,
sudo
installieren Sie Ruby mit HomebrewMöglicherweise möchten Sie
export GEM_HOME="$HOME/.gem"
zu Ihrem hinzufügen~/.bash_profile
oder.zshrc
wenn Sie zsh verwendenquelle
Rails is not currently installed on this system. To get the latest version, simply type: $ sudo gem install rails You can then rerun your "rails" command
rails
Befehl auszuführen . Die letzten beiden Befehle, die ich habe, führen keinenrails
Befehl aus. Versuchen Sie, ein neues Terminal außerhalb Ihres Projekts zu öffnen, und kopieren Sie dann die letzten beiden Zeilen meiner Antwort nacheinander.source ~/. zshrc
(oder~/.bash_profile
)Arbeitete für mich mit dem Parameter
--user-install
, der folgenden Befehl ausführt:Dann fing er an, es zu holen und zu installieren.
Bearbeiten
Es gab ein Juwel, das ich immer noch nicht installieren konnte (es erforderte die Ruby.h-Header des Ruby-Entwicklungskits oder so), dann habe ich die verschiedenen Versionsmanager ausprobiert, aber irgendwie funktionierte das immer noch nicht wirklich, wie in den Dokumentationen angegeben nur zu installieren und zu wechseln (es hat einfach nicht die Versionen gewechselt). Dann habe ich alle installierten Versionsmanager entfernt und anschließend mit
brew install ruby
der neuesten Version installiert und auch die Variable PATH gesetzt. (Es wird nach der Installation von Rubin aus dem Gebräu erwähnt), was funktioniert hat.quelle
Es wird allgemein empfohlen, einen Versionsmanager wie
rbenv
oder zu verwendenrvm
. Andernfalls sind installierte Gems wieroot
für andere Benutzer verfügbar .Wenn Sie wissen, was Sie tun, können Sie verwenden
sudo gem install
.quelle
Ich habe das gleiche Problem nach der Installation von macOS Catalina konfrontiert. Ich hatte versucht, unter Befehl und es funktioniert.
quelle
Führen Sie dies aus
Befolgen Sie die Anweisungen (in meinem Fall zu ~ / .zshrc hinzufügen );)
Ebenfalls wichtig: Änderungen werden nur wirksam, wenn Sie Ihre Konsole neu starten. Zwei Optionen
source <modified file>
quelle
.bash_profile
über zu.zshrc
Wenn Sie Ruby separat installiert und Ruby mit rbenv / rvm installiert haben, verweist Ihr Budler möglicherweise auf verschiedene Versionen.
Versuchen
und
Beide sollten auf dieselbe Version verweisen. Überprüfen Sie, ob Sie Ruby mit rbenv / rvm installiert haben. Wenn ja, löschen Sie die Ruby-Version, die Sie separat installiert haben.
Damit gem funktioniert, müssen Sie rbenv aufrufen.
und
Ich bin mir nicht sicher, wie RVM funktioniert. Lassen Sie mich wissen, ob dies funktioniert.
quelle
Lösung für Mac
Installieren / aktualisieren Sie RVM mit der letzten Ruby-Version
\curl -sSL https://get.rvm.io | bash -s stable
Installieren Sie den Bundler
gem install bundler
Danach
(sudo) gem install ....
begannen zwei Befehle zu funktionierenquelle
rvm use <version>
Das hat bei mir auf dem Mac funktioniert
quelle
Ich benutze Mojave mit
rbenv
, diese Lösung funktioniert für mich:Fügen Sie diese Zeile in die Datei ein:
quelle
Probleme, die ich hatte: - Sie haben keine Schreibberechtigungen für das Verzeichnis /Library/Ruby/Gems/2.6.0.
Die Lösung hat bei mir funktioniert: sudo gem install rail -v 6.0.0
quelle
Für Mac-Benutzer verwenden Sie sudo ex sudo gem install cocoapods
quelle