web-dev-qa-db-fra.com

Vous n'avez pas les autorisations d'é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 devez 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 de spécification, exécutez une commande comme celle-ci: bundle exec rspec spec/00_hello_spec.rb . Pour exécuter toutes les spécifications en même temps, exécutez bundle exec rspec .

Alors, j’ai tapé gem install bundler sur terminal et obtenu Vous n’avez pas les droits d’écriture pour le répertoire /Library/Ruby/Gems/2.3.0.

et cela se trouvait dans le fichier de projet dans atom * source " https://rubygems.org " bijou "rspec", "~> 3.2.0" *

Ma question est:

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

Merci beaucoup!

17
user9426236

Vous avez raison de dire que macOS ne vous laissera rien changer avec la version de Ruby fournie avec votre Mac. Cependant, il est possible d'installer des gems comme bundler à l'aide d'une version séparée. de Ruby qui n’interfère pas avec celui fourni par Apple.

Il est fortement déconseillé d’utiliser Sudo pour installer des gems ou de modifier les autorisations des fichiers et des répertoires système, même si vous savez ce que vous faites. Pouvons-nous s'il vous plaît arrêter de donner ce mauvais conseil?

La solution comporte deux étapes principales:

  1. Installez une version séparée de Ruby) qui n’interfère pas avec celle fournie avec votre Mac.
  2. Mettez à jour votre PATH de sorte que l'emplacement de la nouvelle version Ruby figure en premier dans PATH. La liste des répertoires et l'ordre d'affichage de l'ordinateur les pour trouver des programmes exécutables est appelé le PATH. Si vous tapez echo $PATH dans Terminal, vous verrez la liste des répertoires, séparés par deux points.

Il existe plusieurs façons d’installer Ruby sur un Mac. La meilleure façon que je recommande, et que j’espérais, était plus courante dans les diverses instructions d’installation, consiste à utiliser un script automatisé qui configurera un environnement Ruby approprié pour vous. Cela réduit considérablement les risques d'erreur, en raison d'instructions inadéquates qui obligent l'utilisateur à effectuer manuellement une série de tâches en leur laissant le soin de comprendre toutes les étapes nécessaires.

Vous pouvez également passer plus de temps à tout faire manuellement et à espérer que tout ira pour le mieux. Tout d'abord, vous souhaiterez installer Homebrew , ce qui facilite l'installation d'autres outils et applications MacOS.

Ensuite, les 4 méthodes les plus populaires pour installer une version distincte de Ruby sont:

Si vous n'avez pas besoin de plus d'une version de Ruby en même temps (en plus de celle fournie avec macOS)

  • Homebrew - une fois installé, installez Ruby avec brew install Ruby, puis mettez à jour votre PATH en lançant echo 'export PATH="/usr/local/opt/Ruby/bin:$PATH"' >> ~/.bash_profile, suivi par source ~/.bash_profile

Si vous souhaitez avoir la possibilité de basculer facilement entre plusieurs versions Ruby)

  • chruby et Ruby-install - mes recommandations personnelles et celles qui sont automatiquement installées par le script susmentionné. Ceux-ci peuvent être installés avec Homebrew.

  • rbenv - peut être installé avec Homebrew

  • RVM

Pour vérifier que vous utilisez maintenant la version non-système de Ruby, vous pouvez exécuter les commandes suivantes:

which Ruby

Cela devrait être autre chose que /usr/bin/Ruby

Ruby -v

Ce devrait être autre chose que 2.3.7. À ce jour, 2.6.1 est la dernière version de Ruby).

Une fois que vous avez cette nouvelle version de Ruby installée, vous pouvez maintenant installer bundler:

gem install bundler
46
monfresh

Il est généralement recommandé d'utiliser un gestionnaire de versions tel que rbenv ou rvm . Sinon, les gems installés seront disponibles sous la forme root pour les autres utilisateurs.

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

4
idleberg

Si vous ne souhaitez pas exécuter Sudo, installez-le Ruby en utilisant homebrew

brew install Ruby
gem install Rails
3
STIKO

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

Sudo gem update
0
Arjun Patel

Solution pour Mac

  1. Installer/mettre à jour RVM avec la dernière Ruby version

    \curl -sSL https://get.rvm.io | bash -s stable --Rails

  2. Installer bundler

    gem install bundler


après cela deux commandes (Sudo) gem install .... a commencé à travailler

0
Vasily Bodnarchuk