Installieren Sie Jekyll unter Mac 10.11 ohne Homebrew oder Sudo

843
jsejcksn

Ich habe versucht zu installieren Jekyll auf meinem Mac (OS X 10.11.6 El Capitan mit Xcode cli - Tools installiert) verwenden gem install jekyll, aber ich erhielt diese Fehlermeldung:

$ gem install jekyll
ERROR: Während der Ausführung von gem ... (Gem :: FilePermissionError)
Sie haben keine Schreibberechtigung für das Verzeichnis /Library/Ruby/Gems/2.0.0.

Ich runzelte die Augenbrauen und las auf der Jekyll-Website die Dokumentation zur Fehlerbehebung bei der Installation, die SIP in El Capitan besprach. Ich fühle mich an diesem Punkt immer noch unzufrieden.

Ich weiß nichts über Ruby, außer was ich heute gelesen habe, aber ich weiß einiges über bash. Die Entwickler empfehlen die Verwendung von sudo gem install -n /usr/local/bin jekyll. Ist das sudoin diesem Fall nur für, wenn die Ordnerberechtigungen für /usr/local/bineskalierte Berechtigungen erforderlich sind oder ist es auch für etwas anderes?

Gibt es eine Möglichkeit, Jekyll zu installieren?

  • ohne zu verwenden sudound
  • ohne Homebrew (oder andere Paketinstallationswerkzeuge / Software von Drittanbietern) zu installieren und
  • ohne die Berechtigungen ( 755 root:wheel) für meinen /usr/local/Ordner zu ändern?

Wenn ja, was sind die Auswirkungen auf die Operation von Jekyll?

0

2 Antworten auf die Frage

0
Jade Robbins

Ich denke, Sie können Ihre $GEM_HOMEUmgebungsvariable in einen Ordner ändern, für den Sie Schreib- und Ausführungsberechtigungen haben. Konvention ist das Erstellen eines .gemOrdners in der Heimat. Stellen Sie dann sicher, dass dieser Ordner Ihrer $GEM_PATHUmgebungsvariablen hinzugefügt wird. Dann sollten Sie in der Lage sein, Gems nach Herzenslust zu installieren UND im System-Gem-Ordner installierte Gems zu verwenden.

Referenzen: https://unix.stackexchange.com/a/210012 https://stackoverflow.com/a/11277228/203845

✌️ Danke dafür. Ich habe das Äquivalent für npm globale Installationen gemacht und es ist viel schöner als `/ usr / local /`. jsejcksn vor 8 Jahren 1
0
jsejcksn

Hier ist ein anderer Ansatz, den ich in einer relevanten GitHub-Ausgabe (vom 25. September 2015) gefunden habe und unter der horizontalen Regel unten kopiere. (Stellen Sie sicher, dass Sie den binären Pfad $PATHüber Ihr ~/.bash_profileoder hinzufügen. /etc/paths.d/)


Haben Sie ein paar Momente und möchten Sie wiederholen und erneut freigeben - in einem zusammenfassenden Format - die Installation jekyll( gemsim Allgemeinen) durch Nutzung der gemausführbaren Funktionen zum Isolieren von Ruby-Gem-Installationen funktioniert in OS X 10.11 beispielsweise mit [nur] Folgendes, mit dem zusätzlichen Vorteil, dass das System vollständig in Ruhe gelassen wird jekyllund die Abhängigkeiten zum aktuellen Benutzer / zur aktuellen Gruppe [nur] isoliert werden :

OS X XCode-Befehlszeilen-Dienstprogramme

Kann durch Aufrufen eines Entwicklerkommandos wie z. B. gitund der folgenden Eingabeaufforderungen installiert werden .

Mit OS X 'native rubyund gem:

gem install --user-install --bindir ~/bin --no-document --pre --verbose jekyll 
export PATH=$PATH:~/bin 
$ jekyll --version jekyll 3.0.0.pre.beta9  $ ruby --version ruby 2.0.0p645 (2015-04-13 revision 50299) [universal.x86_64-darwin15] $ which ruby /usr/bin/ruby 

Wenn Systemweite mit einer Kesselflicker-feindlichen Umgebung einzumischen ist nicht Ihr Interesse, und oder Sie nicht wollen / müssen custom / spezifische Ruby - Umgebung (n) ( rbenv, chruby, RVM, ...), dann einem --user zu installierende Ansatz kann eine Überlegung wert sein. Und es funktioniert mit Standard OS X ( 10.11 currently).