J'essaie d'installer Rails 3 sur un tout nouveau MacBook Pro fonctionnant sous OS X 10.6.3, Ruby 1.8.7 et Rails 2.3.5. Je me demande si je me suis maquillé. Jusqu'à présent, j'ai exécuté ces commandes:
$ gem update --system
$ gem install arel tzinfo builder memcache-client rack rack-test rack-mount erubis mail text-format thor bundler i18n
$ gem install Rails --pre
Cependant, lorsque j'exécute la dernière commande, j'obtiens cette erreur:
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions into the /usr/bin directory.
Je pense que cela veut que je lance la commande avec Sudo
pour pouvoir écrire plus de /usr/bin/Rails
. Mais si je le fais, ne vais-je pas écraser l'exécutable de Rails 2.3.5? Je ne veux pas faire ça. Au lieu de cela, j'aimerais conserver les deux versions de Rails. Comment je fais ça?
Je suggérerais d'utiliser RVM cela vous permet d'avoir plusieurs versions de Ruby/Rails installées avec des profils de gemmes et de garder toutes vos gemmes contenues les unes des autres. Vous pouvez consulter un article similaire Comment puis-je installer Ruby on Rails 3 sur OSX
utilisez le paramètre -n
pour installer comme pour les cocoapodes:
Sudo gem install cocoapods -n /usr/local/bin
Vous pouvez utiliser Sudo gem install -n /usr/local/bin cocoapods
Cela fonctionne pour moi.
Sudo gem install cocoapods --pre -n /usr/local/bin
Cela fonctionne pour moi.
Pour corriger votre erreur spécifique, vous devez exécuter cette commande en tant que Sudo, à savoir:
Sudo gem install Rails --pre
L'utilisation de -n/usr/local/bin est efficace, MAIS je devais revenir à cette page chaque fois que je souhaitais mettre à jour un paquet à nouveau. J'ai donc trouvé un correctif permanent pour cela.
Pour ceux intéressés à résoudre ce problème de façon permanente:
Créer un fichier ~/.gemrc
`vim .gemrc`
Ajoutez ce qui suit:
`:gemdir:
- ~/.gem/Ruby
install: -n /usr/local/bin`
Maintenant, vous pouvez exécuter votre commande normalement sans l'indicateur -n.
Prendre plaisir!
Cette erreur m’a frappé après avoir correctement installé RVM . Solution: redémarrez le terminal.
Référence Installation RVM de RailsCast tutorial.
Pour moi, quelque chose de différent a fonctionné, que j'ai trouvé dans cette réponse à partir d'une question similaire. Cela n’aidera probablement pas OP, mais peut-être que quelqu'un comme moi aurait eu un problème similaire.
Vous devriez en effet utiliser rvm, mais comme personne ne vous a expliqué comment faire ceci sans rvm, vous avez ceci:
Sudo gem install tzinfo builder memcache-client rack rack-test rack-mount \
abstract erubis activesupport mime-types mail text-hyphen text-format \
thor i18n rake bundler arel railties Rails --prerelease --force