Basé sur mon précédent thread: RVM installé par Ruby ne fonctionne pas? où j’avais installé RVM en utilisant l’utilisateur root, j’ai alors dû supprimer entièrement l’installation de RVM et maintenant j’installe en tant qu’utilisateur.
Alors j'ai fait:
Maintenant, je reçois l’erreur: mkdir: impossible de créer le répertoire `/ usr/local/rvm ': autorisation refusée
Le nouvel utilisateur que j'ai créé n'a pas accès à ce répertoire. J'ai essayé manuellement de créer le dossier mais la même erreur. S'il vous plaît aider.
EDIT: Le problème initial est dû au fait que je n’ai pas redémarré le terminal et qu’il utilisait toujours les anciens paramètres.
Maintenant, j'ai un nouveau problème: après l'installation de RVM, je ne peux pas l'exécuter et cela me donne une erreur: commande rvm introuvable.
Voici la sortie de mon ~/.bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # This loads RVM into a Shell session.
Et voici la sortie du fichier ~/.bashrc
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific aliases and functions
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # This loads RVM into a Shell session.
RVM est facile à installer, mais vous rendez la tâche plus difficile en essayant de mélanger et de faire correspondre les types d’installation. Vous n'avez PAS besoin de créer un nouvel utilisateur. Lorsqu'il sera exécuté, RVM créera un répertoire dans votre répertoire personnel: ~/.rvm
, et installera tout ce qu'il contient. Cela signifie que vous aurez toutes les autorisations appropriées. Vous n'avez PAS besoin de courir en tant que root, vous n'avez PAS besoin d'utiliser Sudo. Je vous recommande de fermer toutes vos lignes de commande, d’en ouvrir une nouvelle et de commencer par votre répertoire personnel. Si vous travaillez en tant que root, déconnectez-vous et reconnectez-vous à votre compte normal. Pour une installation mono-utilisateur, vous n'avez PAS besoin d'être root.
Pour un utilisateur unique, utilisant RVM en tant que bac à sable Ruby, utilisez les documents d'installation pour un utilisateur unique . Suivez ALL les instructions de cette page, , Y COMPRIS la section "Post-installation".
Fermez la fenêtre de votre terminal et rouvrez-la. Si vous avez correctement suivi les instructions ci-dessus, taper rvm info
devrait cracher un modèle de ce qui doit arriver une fois que vous avez installé une instance Ruby. Si vous ne voyez rien en sortie ou si vous obtenez une erreur, suivez les étapes dans la section "Post-installation", puis passez à la section "Dépannage". La plupart des problèmes que les gens rencontrent se produisent parce qu'ils ne se sont pas donné la peine de lire les instructions.
Une fois que RVM est installé, tapez rvm notes
et lisez les dépendances à installer. Si vous n’ajoutez pas ces fichiers, il ne manquera aucune fonctionnalité à vos Rubis installés. Ils fonctionneront, mais certains des conforts de créatures dont vous entendrez parler ne fonctionneront pas et vous vous demanderez pourquoi.
Après avoir installé les dépendances, vous devriez être en forme pour installer Rubies. Tapez rvm list known
pour tout ce que Rubies RVM peut installer. Si vous voulez 1.8.7 tapez rvm install 1.8.7
et, de la même manière, rvm install 1.9.2
pour Ruby 1.9.2. Si vous souhaitez une révision particulière, vous pouvez l'ajouter en vous basant sur celles de la liste.
Il est important de mettre à jour périodiquement RVM en utilisant rvm get head
. Cela permettra d'ajouter des fonctionnalités, de corriger des bugs et d'informer RVM des nouvelles versions de Ruby qu'il peut installer si vous le souhaitez.
Après avoir installé un Ruby, tapez rvm list
et il devrait apparaître dans la liste, ressemblant à ceci:
rvm rubis Ruby-1.8.7-p334 [x86_64] Ruby-1.9.2-p180 [x86_64]
Tapez rvm use 1.9.2 --default
pour définir un Ruby par défaut qui sera persistant entre les connexions. Utilisez la version de Ruby pour laquelle vous voulez utiliser par défaut si 1.9.2 ne flotte pas votre bateau. Une fois que vous avez défini un paramètre par défaut, il devrait ressembler à ceci:
rvm rubis Ruby-1.8.7-p334 [x86_64] => Ruby-1.9.2-p180 [x86_64]
Avant de commencer à installer des pierres précieuses dans un Ruby géré par RVM, lisez "RVM et RubyGems" , en particulier la partie intitulée "NE PAS utiliser Sudo ...". Je répète. N'utilisez PAS Sudo pour installer des gemmes, malgré ce que disent certains blogs ou pages Web. L'auteur de RVM connaît mieux le travail avec les rubis contrôlés par RVM. C'est une autre erreur que les gens utilisent avec RVM, encore une fois parce qu'ils ne lisent pas les instructions.
Sous Mac OS, vous aurez besoin de la dernière version de XCode pour votre système d'exploitation. N'utilisez PAS le code X fourni avec Snow Leopard sur le DVD. C'est buggy. Téléchargez et installez une nouvelle version à partir de le site de développement d’Apple . C'est un téléchargement gratuit nécessitant une inscription gratuite. Il s’agit d’un gros fichier d’environ 8 Go. Vous devrez donc le démarrer et vous en aller. Installez XCode et vous devriez être prêt à ce que RVM installe Rubies.
Enfin, RVM s’installe facilement, de même que les rubis que vous lui demandez d’installer. Je l'ai sur environ quatre ou cinq machines et machines virtuelles différentes sur Mac OS, Ubuntu et CentOS. Il me faut environ une minute pour l'installer et une autre minute pour le configurer et commencer à installer un nouveau Ruby. C'est aussi simple que ça.
mkdir: impossible de créer le répertoire `/ usr/local/rvm ': autorisation refusée
Si vous avez déjà exécuté le programme d'installation de rvm en tant que root, supprimez/usr/local/rvm et/etc/rvmrc.
Le problème original a été signalé dans cette question: " mkdir: impossible de créer le répertoire`/usr/local/rvm ': Autorisation refusée "lors de la tentative d'installation de rvm.
C’est mon scénario et la façon dont j’ai résolu le problème. Peut-être que cela aidera les autres à résoudre le même problème.
Ubuntu 11.04 est installé sur un ordinateur portable. Je n'ai qu'un seul utilisateur, celui que j'ai créé lors de l'installation, nommé nathan. Lorsque j'essayais d'installer rvm en tant que nathan, le programme d'installation de rvm me considérait en tant que root et essayait sans cesse de l'installer globalement, mais comme je n'étais pas vraiment root, il ne pouvait pas accéder à la création de répertoires dans/usr/local/rvm .
Je suis loin d'être un expert avec Ubuntu, alors je suis sûr qu'il existe des moyens plus faciles/meilleurs d'accomplir les tâches que j'ai accomplies (et j'aimerais en apprendre davantage à leur sujet), mais cela a fonctionné pour moi:
Je me suis connecté en tant que rubydev, j'ai ouvert un terminal et j'ai tapé:
rubydev~$ bash < <(curl -B http://rvm.beginrescueend.com/install/rvm)
rvm installé correctement et je me suis déconnecté de rubydev
Après avoir réussi à obtenir root, j'ai tapé les commandes suivantes:
root: /home/nathan# cp -R /home/rubydev/.rvm .
root: /home/nathan# chown -R nathan .rvm
root: /home/nathan# chgrp -R nathan .rvm
root: /home/nathan# exit
nathan~$ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile
nathan~$ echo 'export rvm_path="/home/nathan/.rvm"' > ~/.rvmrc
nathan~$ source .bash_profile
À ce stade, RVM était correctement installé dans mon répertoire personnel. Pour vérifier j'ai tapé:
nathan~$ type rvm | head -1
rvm is a function (if you don't get this response, something else is wrong)
Lire les notes et installer toutes les dépendances
nathan~$ rvm notes
J'ai installé des rubis
nathan~$ rvm install 1.8.7-head
nathan~$ rvm install 1.9.2-head
Installation vérifiée
nathan~$ rvm list
rvm rubies
Ruby-1.8.7-head [x86_64]
Ruby-1.9.2-head [x86_64]
nathan~$ rvm use 1.9.2
using /home/nathan/.rvm/gems/Ruby-1.9.2-head
nathan~$ rvm list
rvm rubies
Ruby-1.8.7-head [x86_x64]
=> Ruby-1.9.2-head [x86_x64]
Finalement, j'ai édité les préférences sur le terminal lui-même pour m'assurer que la "commande Exécuter en tant que shell de connexion" sous l'onglet "Titre et commande" était cochée. Il semble que .bash_profile n'est pas traité autrement.
J'ai supprimé l'utilisateur Rubydev que j'ai créé à l'étape 1.
Avec tout cela, j'ai une machine sous Ubuntu 11.04 qui utilise mon nom d'utilisateur préféré.
Si vous avez d'abord installé RVM en tant que root, puis l'avez désinstallé. Et maintenant, vous essayez de l'installer en tant qu'utilisateur non Sudo et vous obtenez le message d'erreur suivant:
mkdir: cannot create directory `/usr/local/rvm': Permission denied
Assurez-vous que vous êtes déconnecté de la session racine avant d'essayer de l'installer sous l'utilisateur.
J'ai résolu ceci en ajoutant
export rvm_path=~/.rvm
vers ~/.bash_profile
J'ai eu le même problème. Lorsque j'essayais de créer un gemset, je recevais une erreur d'autorisation refusée. J'ai juste oublié d'exécuter la commande "rvm use 1.8.7" en premier. Après cela, j'ai pu créer et utiliser le gemset sans aucun problème.
Recherchez le fichier rvm.sh sous le répertoire/etc (il se peut que ce soit dans/etc, ou dans /etc/init.d). Essayez également un fichier grep rvm/etc -r afin de pouvoir trouver des fichiers/lignes vous empêcher d’installer rvm dans votre répertoire $ HOME.
Si vous installez RVM en tant qu’utilisateur, le dossier RVM doit être généré dans votre répertoire personnel:
~/.rvm
Où il ne devrait y avoir aucun problème d'autorisations.
Je suggérerais qu'il récupère une vieille configuration qui reste de votre installation système.
Assurez-vous qu'il ne reste aucun fichier/etc/rvmrc ou $ HOME/.rvmrc car il est possible qu'il utilise des variables précédemment initialisées à partir de ces fichiers pour créer un chemin d'installation incorrect.
si nous regardons cette section du script bash:
if [[ ${rvm_ignore_rvmrc:-0} -eq 0 ]]; then
for file in /etc/rvmrc "$HOME/.rvmrc " ; do
if [[ -s "$file" ]] ; then
source $file
fi
done
fi
Il essaie de trouver l'un de ces fichiers, s'il en trouve un s'il l'exécutera éventuellement en initialisant rvm_path, qui ne sera par la suite pas défini comme $ HOME/.rvm par cette commande.
rvm_path="${rvm_path:-"$HOME/.rvm"}"
Pour moi courir
__rvm_unload
Cela a fonctionné d’abord, c’est parce que j’avais installé RVM comme pour multi-utilisateurs.
Dans les dernières versions de rvm, vous devez également supprimer /etc/profile.d/.
Cela se produit souvent si vous essayez d’installer en tant que root, puis de nouveau en tant qu’utilisateur normal.
J'espère que cette aide.
La solution de Scott Bartell a fonctionné pour moi. Je suis sur une image premade de Digital Ocean, où ils avaient déjà configuré rvm en tant que racine . 1. supprimé/etc/rvmrc . 2. ajouté export rvm_path = ~/.rvm à ~/.bash_profile 3. déconnecté de la session ssh sur la machine virtuelle 4. reconnecté et presto!
aurais commenté mais rep est 3 points trop bas :)
Si vous avez installé rvm en tant que root et que vous rencontrez des problèmes d'autorisation refusée (peut-être que vous déployez avec capistrano en tant qu'utilisateur non root), vous pouvez essayer rvm fix-permissions
après avoir effectué des opérations telles que rvm install 2.2.2
en tant que root et créé un gemset en tant que root.