Je hebt geen schrijfrechten voor de directory /Library/Ruby/Gems/2.3.0

Als ik de opdracht gem install bundlergebruik in MacOS 10.13.x, is de fout:

Je hebt geen schrijfrechten voor de directory /Library/Ruby/Gems/2.3.0.

$ gem install bundler
Fetching: bundler-1.16.2.gem (100%)
ERROR:  While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.3.0 directory.

Antwoord 1, autoriteit 100%

Dit is in feite een duplicaat van dezevraag, waar ik al een gedetailleerd antwoord heb gepost dat het probleem oplost. In plaats van twee afzonderlijke antwoorden te behouden, dacht ik dat het beter zou zijn om hier gewoon naar mijn antwoord te linken, omdat dezelfde oplossing van toepassing is:
https://stackoverflow.com/a/54873916/928191


Antwoord 2, autoriteit 44%

Zoals eerder opgemerkt, is de systeemruby op een Mac eigendom van root en is het niet veilig om dingen tegen die versie te installeren met sudo. Als je dat doet, wordt elke edelsteen als root uitgevoerd en dat is een beveiligingsnachtmerrie. DOE DAT NIET

Ik zal je door mijn stappen leiden, aangezien eerdere antwoorden uitgingen van een beetje opdrachtregel foo en de toegevoegde details kunnen voor iemand van enig nut zijn.

Controleer of we de oude, door het systeem geleverde ruby gebruiken

which ruby
/usr/bin/ruby

(dat is het systeempad)

ruby -v
ruby 2.3.7

(de oude versie)

brew install ruby

of installeer eerst brew

waarop de installatie zegt:

/usr/local/Cellar/ruby/2.6.3

Laat dat verschijnen in het pad eerst

PATH=/usr/local/Cellar/ruby/2.6.3/bin:$PATH

Dubbelcontrole

which ruby
/usr/local/Cellar/ruby/2.6.3/bin/ruby

Versie dubbel controleren

ruby --version
ruby 2.6.3p62

Maak de padupdate permanent (anders moet je het pad elke keer bijwerken als je ruby wilt gebruiken)

echo  PATH=/usr/local/Cellar/ruby/2.6.3/bin:$PATH >> ~/.bash_profile

Antwoord 3, autoriteit 15%

sudo gem install -n /usr/local/bin bundler

Antwoord 4

Het is beter om niet helemaal sudote doen.

De juiste manier is om source ~/.zshrcvoor mij te laten werken nadat je de nieuwste rubyop je Mac hebt geïnstalleerd via brew install ruby

Other episodes