Plus âgé et plus sage
Ne faites pas ce que je dis ici, sachez simplement que vous devez vous méfier chaque fois que vous utilisez sudo
. Vous voulez probablement utiliser quelque chose comme rbenv
pour isoler le travail que vous faites.
un moyen
en savoir plus chown
Je ne sais pas si vous aimez la ligne de commande, mais cela rendra le travail sur n'importe quel projet avec n'importe quel outil qui installe des packages sur votre système un jeu d'enfant.
chown
autant que je sache, signifie changement de propriétaire.
La raison pour laquelle je suis venu à la recherche de cette réponse est parce que gem install
cette erreur m'a été lancée aujourd'hui:
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions into the /var/lib/gems/1.9.1 directory.
C'est une occasion parfaite d'utiliser chown
. Vous voyez, Ruby nous a donné le répertoire auquel il doit accéder, et il semble que ce soit un répertoire qu'il utilisera assez souvent.
Dans ce cas, il n'y a que trois choses que l'on doit savoir pour résoudre le problème, mais il chown
est beaucoup plus puissant et vous accorde beaucoup plus de flexibilité que je ne le démontrerai maintenant. Veuillez vous référer à la source en bas pour plus d'informations.
Les deux choses
- Nom d'utilisateur
- Annuaire
Si vous êtes dans un shell, trouver le nom d'utilisateur est facile. Regardez simplement l'invite. Le mien ressemble à:
breadly@breadly-desktop:~\Desktop
L'utilisateur actuel est juste le nom avant le @
. Nous connaissons le répertoire à partir des messages d'erreur, mais vous avez deux choix. Vous pouvez soit limiter votre autorisation à la version actuelle en utilisant ../gems/1.9.1
, soit vous accorder une autorisation d'écriture pour les gemmes de toutes les versions en utilisant ../gems
.
La commande pour changer réellement de propriétaire ressemblerait à ceci.
chown -R $(whoami) /absolute/path/to/directory
Le -R
est connu sous le nom d'indicateur et l' -R
indicateur indique généralement à une commande de faire quelque chose de manière récursive, ou en d'autres termes d'exécuter la commande sur tout ce qui est contenu dans le répertoire, et toutes les choses contenues dans les répertoires contenus à l'intérieur, et ainsi de suite jusqu'à il n'y a rien d'autre.