Ruby gem Pfad Änderung

Behebung der Gem-Pfadänderung in Ruby

Dieser Artikel erklärt, wie man mit der Situation umgeht, wenn sich der Gem-Pfad nach der Installation von Bibliotheken in Ruby ändert. Wenn Sie nach der Neuinstallation von jruby oder Ruby unter Windows Probleme haben, sollten Sie zuerst die Möglichkeit in Betracht ziehen, dass der Gem- oder Ruby-ausführbare Pfad überschrieben wurde.

Shou Arisaka
3 Min. Lesezeit
1. Okt. 2025

Dieser Artikel erklärt, wie man mit der Situation umgeht, wenn sich der Gem-Pfad nach der Installation von Bibliotheken in Ruby ändert.

Nach der Installation von jruby in Ruby hat sich der GEM-Pfad geändert.

Ruby - Wie ändert man den Pfad des Ruby gem-Befehls (139476) | teratail

Wie ändert man den Pfad des Ruby gem-Befehls

Ich habe zuvor jRuby installiert, und während sich der Ruby-Pfad nicht geändert hat, scheint sich der GEM-Pfad geändert zu haben.

Aus diesem Grund funktioniert gem require nicht richtig.

Ich konnte zum Gem-Pfad installieren, aber ich kann einfach nicht herausfinden, wie ich ihn ändern kann.

Ich habe recherchiert und herausgefunden, dass der GEM-Pfad in Variablen namens $GEM_PATH und $GEM_HOME gespeichert wird, aber als ich in Powershell nachgesehen habe, gab es keine solchen Variablen.

Bitte sagen Sie mir, wie ich den Gem-Pfad auf denselben Pfad wie das ursprüngliche Ruby zurücksetzen kann.

Ich wollte sinatra verwenden. Der Gem-Pfad war jedoch auf den jruby-Pfad eingestellt, den ich neulich konfiguriert habe, und daher wurde sinatra nicht zu dem Ruby installiert, das es verwenden sollte, sodass ich es nicht requiren konnte. Möglicherweise sind Bundle-Install- und Ausführungsfehler auf dieselbe Ursache zurückzuführen. Fürs Erste möchte ich den Gem-Befehlspfad auf den ursprünglichen Ruby-Pfad anstelle von jruby zurücksetzen.

PS C:\pg> gcm ruby | fl Path

Path : C:\Ruby24-x64\bin\ruby.exe

PS C:\pg> gcm gem | fl Path

Path : c:\jruby-9.2.0.0\bin\gem.bat

Ändern Sie die Priorität in den Umgebungsvariablen so, dass jruby niedriger als ruby ist.

PS C:\pg> $Env:Path.replace(';',"`r`n")
...
C:\apps\ConEmuPack.170305
C:\apps\ConEmuPack.170305\ConEmu
C:\Users\user\AppData\Local\Programs\Python\Python36-32\Scripts
C:\Users\user\AppData\Local\Programs\Python\Python36-32
C:\Ruby24-x64\bin
c:\jruby-9.2.0.0\bin
C:\Users\user\AppData\Local\Microsoft\WindowsApps
C:\Users\user\AppData\Local\atom\bin
c:\_mount_
c:\php

Jetzt überprüfen wir noch einmal mit gcm.

PS C:\pg> gcm ruby

CommandType Name Version Source


Application ruby.exe 2.4.2.198 C:\Ruby24-x64\bin\ruby.exe

PS C:\pg> gcm gem

CommandType Name Version Source


Application gem.cmd 0.0.0.0 C:\Ruby24-x64\bin\gem.cmd

Es ist behoben!

Jetzt kann der gem-Befehl verwendet werden.

gem install sinatra

Nach der Installation:

PS C:\pg\sinatra> ruby .\app.rb
== Sinatra (v2.0.3) has taken the stage on 4567 for development with backup from Puma
*** SIGUSR2 not implemented, signal based restart unavailable!
*** SIGUSR1 not implemented, signal based restart unavailable!
*** SIGHUP not implemented, signal based logs reopening unavailable!
Puma starting in single mode...
* Version 3.11.4 (ruby 2.4.2-p198), codename: Love Song
* Min threads: 0, max threads: 16
* Environment: development
* Listening on tcp://localhost:4567
Use Ctrl-C to stop

Es funktioniert! (Ich bin so glücklich)

Image

Es funktioniert!! Großartig.

Wenn Sie nach der Neuinstallation von jruby oder etwas Neuem unter Windows Probleme haben, sollten Sie zuerst die Möglichkeit in Betracht ziehen, dass der Gem- oder Ruby-ausführbare Pfad überschrieben wurde.

Diesen Artikel teilen

Shou Arisaka 1. Okt. 2025

🔗 Links kopieren