426 votes

Vous n'avez pas d'autorisations en écriture pour le répertoire /Library/Ruby/Gems/2.3.0. (utilisateur mac)

ci-dessous est ce que je dois faire.

Pour exécuter les spécifications, vous aurez besoin d'installer RSpec. Tout d'abord, exécutez gem install bundler dans le répertoire racine de votre projet. Ensuite, exécutez bundle install. Pour exécuter un seul fichier spec, exécuter une commande comme ceci: bundle exec rspec spec/00_hello_spec.rb. Pour exécuter toutes les spécifications à la fois, exécuter bundle exec rspec.

Donc, j'ai tapé gem install bundler à la borne, et a obtenu Vous n'avez pas les autorisations en écriture sur le dossier /Library/Ruby/Gems/2.3.0 répertoire.

et c'était dans le fichier de projet dans l'atome *source "https://rubygems.org" gem "rspec", "~> 3.2.0" *

Ma question est:

Il semble que le terminal est de me donner la réponse parce que je ne suis pas censé changer quoi que ce soit sur ruby, et j'ai besoin de bundle installer à l'intérieur de l'atome? Quelqu'un pourrait-il me dire comment utiliser atome ou d'exécuter quoi que ce soit dans l'atome?

Merci beaucoup!

574voto

monfresh Points 2330

Il est exact que macOS ne vous laisseront pas de changer quoi que ce soit avec la version de Ruby qui est installé avec votre Mac. Toutefois, il est possible d'installer des gems comme bundler en utilisant une autre version de Ruby qui n'interfère pas avec celui fourni par Apple.

À l'aide de sudo installer des gems, ou de modifier les autorisations de système de fichiers et les répertoires est fortement déconseillée, même si vous savez ce que vous faites. Pouvons-nous arrêter la fourniture de ce mauvais conseils?

La solution passe par deux étapes principales:

  1. Installer une autre version de Ruby qui n'interfère pas avec celui qui est venu avec votre Mac.
  2. Mise à jour de votre PATH tels que l'emplacement de la nouvelle version de Ruby est le premier dans l' PATH. La liste des répertoires, et l'ordre dans lequel l'ordinateur recherche pour trouver des programmes exécutables est appelé l' PATH. Si vous tapez echo $PATH dans le Terminal, vous verrez la liste de répertoires, séparés par un deux-points.

Il existe plusieurs façons d'installer Ruby sur un Mac. La meilleure façon que je recommande et que je souhaite est de plus en plus répandus dans les diverses instructions d'installation là-bas, est d'utiliser un script automatisé qui permettra de définir le Rubis de l'environnement pour vous. Cela réduit considérablement les chances de tomber sur une erreur due à l'insuffisance des instructions qui font à l'utilisateur de faire un tas de trucs manuellement et de le laisser à eux de comprendre toutes les étapes nécessaires.

L'autre itinéraire, vous pouvez prendre est de passer du temps à faire tout manuellement et en espérant pour le mieux. Tout d'abord, vous voulez installer Homebrew, ce qui le rend facile à installer d'autres outils et applications macOS.

Ensuite, les 4 plus populaires pour installer une autre version de Ruby sont:

Si vous n'avez pas besoin de plus d'une version de Ruby dans le même temps (en plus de celui fourni avec macOS)

  • Homebrew - une fois qu'il est installé, installer ruby brew install ruby, puis de mettre à jour votre PATH en exécutant echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.bash_profile, suivie par l' source ~/.bash_profile

Si vous voulez la flexibilité de passer facilement entre plusieurs versions Rubis

  • chruby et ruby-installer - mes recommandations personnelles et celles qui sont installés automatiquement par le script mentionné ci-dessus. Elles peuvent être installées avec Homebrew.

  • rbenv - peut être installé avec Homebrew

  • RVM

Pour vérifier que vous êtes maintenant à l'aide de la non-version du système de Ruby, vous pouvez exécuter les commandes suivantes:

which ruby

Il devrait être quelque chose d'autre que /usr/bin/ruby

ruby -v

Il devrait être quelque chose d'autre que 2.3.7. À compter d'aujourd'hui, 2.6.1 est la dernière version de Ruby.

Une fois que vous avez cette nouvelle version de Ruby est installé, vous pouvez maintenant installer le système de regroupement:

gem install bundler

283voto

Stefan Rein Points 1976

Travaillé pour moi, en utilisant le paramètre --user-install exécutant la commande suivante:

gem install name_of_gem --user-install

Puis il a commencé à chercher et l'installer.

Modifier

Il y a un bijou je ne peux toujours pas installer (il fallait que le Rubis.h les en-têtes de Ruby le kit de développement ou de quelque chose), puis j'ai essayé les différents gestionnaires de version, mais en quelque sorte, qui n'a toujours pas vraiment travailler comme il était indiqué dans la documentation comment il suffit de l'installer et de l'interrupteur (il n'est tout simplement pas basculer les versions). Puis j'ai enlevé tous la version installée gestionnaires et installé par la suite avec brew install ruby la dernière version de définir la variable de CHEMIN d'accès, trop. (Il sera indiqué après l'installation de ruby de brew), ce qui a fonctionné.

164voto

STIKO Points 107

Si vous ne voulez pas exécuter sudo installez ruby en utilisant homebrew

 brew install ruby
export GEM_HOME="$HOME/.gem"
gem install rails
 

Vous voudrez peut-être ajouter export GEM_HOME="$HOME/.gem" à votre ~/.bash_profile ou .zshrc si vous utilisez zsh

15voto

idleberg Points 6268

Il est généralement recommandé d'utiliser un gestionnaire de versions comme rbenv ou rvm . Sinon, les gemmes installées seront disponibles en root pour les autres utilisateurs.

Si vous savez ce que vous faites, vous pouvez utiliser sudo gem install .

9voto

Arjun Patel Points 110

J'ai rencontré le même problème après l'installation de macOS Catalina. J'avais essayé ci-dessous la commande et son fonctionnement.

 sudo gem update
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X