Gem-Installationen werden nach dem Update nicht ausgeführt - systemweites Update Arch Linux

Gem-Installationen werden nach dem Update nicht ausgeführt - systemweites Update Arch Linux

Beim Versuch, innerhalb eines Zielordners auszuführen, sass --watch scss:csserhalte ich die Meldungcommand not found

Ich weiß, dass ich Sass installiert hatte. gem listEs wird nicht mehr angezeigt, dass es installiert ist.

Ich laufe sudo gem install sassund bekomme die folgende Meldung:

WARNING: You don't have /root/.gem/ruby/2.3.0/bin in your PATH
         gem executables will not run.

Ich gehe zu meiner .bashrcAkte. Ich habePATH="$(ruby -e 'print Gem.user_dir')/bin:$PATH"

/etc/bash.bashrcIch habe es auch vorsichtshalber eingebaut . Es ändert sich nichts.

Ich gehe zu /etc/profile und füge ein:

#Setting the GEM_PATH and GEM_HOME variables may not be necessary, check 'gem env' output to verify whether both variables already exist 
 GEM_HOME=$(ls -t -U | ruby -e 'puts Gem.user_dir')
 GEM_PATH=$GEM_HOME
 export PATH=$PATH:$GEM_HOME/bin

Ich lade das Profil neu mit. /etc/profile

Ich versuche Sass neu zu installieren mitsudo gem install sass

Immer noch die gleiche Fehlermeldung. gem listWird immer noch nicht angezeigtsass

Was jetzt??

Antwort1

Standardmäßig gemwerden in Arch Linux Gems beim Ausführen pro Benutzer (in ~/.gem/ruby/) statt systemweit (in /usr/lib/ruby/gems/) installiert.

Dies gilt als die beste Möglichkeit, Gems auf Arch zu verwalten, da sie sonst mit den von Pacman installierten Gems in Konflikt geraten könnten.

Gems können systemweit installiert werden, indem der gemBefehl als Root ausgeführt wird und das Flag angehängt wird --no-user-install. Dieses Flag kann als Standard festgelegt werden, indem es durch --user-install( systemweit) oder (pro Benutzer, überschreibt systemweit) ersetzt wird.--no-user-install/etc/gemrc~/.gemrc

Geben Sie Ihr Terminal ein

sudo gem install sass --no-user-install

Weitere Informationen zu Ruby-Gems finden Sie im Arch-Wiki. Lesen Sie Gems pro Benutzer oder systemweit installieren.

Antwort2

Sie versuchen, das Gem mit sudo zu installieren, aber das System kennt den Pfad für Ihren Benutzer, aber nicht für den sudo-Benutzer.

~/.bashrcUm dieses Problem zu lösen, fügen Sie Ihrer Datei die folgende Zeile hinzu .~/zshrc:

PATH="$(ruby -e 'print Gem.user_dir')/bin:$PATH"

Verwenden Sie den sourceBefehl, um Ihre Profildatei zu aktualisieren oder Ihr Terminal erneut zu öffnen.

Wenn Sie zsh verwenden:

source ~/.zshrc

oder mit bash

source ~/.bashrc

Auf diese Weise installieren Sie Ihre Gems ohne sudo, wie in diesem Beispiel:

gem install rspec 

verwandte Informationen