Question

Si vous n'installez pas de gems avec sudo sur un Mac, ils seront par défaut placés dans un répertoire comme

.
.gem/ruby/1.8/gems/

Si vous installez avec sudo , je pense qu'ils sont normalement placés dans les répertoires système, comme suit:

 /usr/local/lib/ruby/gems/1.8/gems/

Existe-t-il une bonne raison pour que vous installiez des gems avec sudo au lieu de simplement laisser les autres les partager avec vous? *

J'ai l'impression que vous devriez installer des gems au sud, car si vous, en tant qu'utilisateur bob , installez les gems dans le répertoire de bob , un utilisateur tel que www -data (utilisé par Passenger / Apache sous Ubuntu Linux lors du traitement de fichiers), pour les utiliser - est-ce la seule raison pour laquelle vous les utiliseriez comme ceci?

Ou encore, la meilleure pratique consiste-t-elle à utiliser quelque chose comme Ruby Version Manager à la place maintenant?

J'apprécierais vraiment d'entendre des développeurs Ruby plus expérimentés nous dire où vous stockez le vôtre et pourquoi.

Était-ce utile?

La solution

L’exécution de gem install avec sudo signifie que vous exécutez l’installation en tant qu’utilisateur admin et qu’il l’installera pour l’ensemble du système. Si vous utilisez un utilisateur normal, les pierres précieuses seront simplement placées dans votre répertoire personnel.

Pour votre machine ou serveur de développement, /usr/local/lib/ruby/gems/1.8/gems/ est certainement le lieu idéal pour placer des gemmes. Si vous êtes sur un type d’hébergement partagé ou que vous vous amusez avec les versions de développement de certains joyaux, conservez-les bien dans votre répertoire personnel afin de ne pas encombrer le système pour les autres utilisateurs.

Je n'ai jamais entendu parler de Ruby Version Manager. Je vais vérifier.

Autres conseils

AFAIK, Ruby Version Manager (RVM) vise davantage à simplifier le travail avec plusieurs versions de Ruby (1.8.6, 1.8.7, 1.9.1, MRI, JRuby, etc.) sur la même machine. Etant donné que de nombreuses gemmes incluent des éléments spécifiques à la version et / ou compilés, différentes versions de gemmes peuvent être nécessaires pour une utilisation dans ces versions Ruby. RVM vous permet de changer d’environnement Ruby mais dans cet environnement, vous [sudo] gem installera de la même manière que toujours.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top