Mac: installation Ruby on rails

Par Frank Drebin, il y a 10 ans


Bonsoir/bonjour à tous,
Je dois passer sur un mac pour entamer un projet ruby on rails.
Il semblerait que sur mac ruby soit installer nativement.
j'ai donc la version

3~$ ruby -v ruby 2.0.0p645 (2015-04-13 revision 50299) [universal.x86_64-darwin15]

mais je souhaiterai suivre la demarche suivante ( à l'exception de git et data en suivant ce lien) mais je n'arrive pas a changer de version
apres l installation de la version 2.2.3

4~$ rbenv global 2.2.3 5~$ ruby -v ruby 2.0.0p645 (2015-04-13 revision 50299) [universal.x86_64-darwin15] 6~$

Je ne suis pas vraiement dans mon élément et je ne sais pas vraiement comment remédier à ce problème.
En outre je ne parviens pas à installer rails, cela doit venir que j'utilise la version native de ruby sur mac et non la version que j'ai "tenté?" d'installer avec
rbenv install 2.2.3 qui semble se dérouler correctement mais qui ne donne rien.
=> pour rails:

6~$ sudo gem install rails -v 4.2.4 Password: Building native extensions. This could take a while... ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/nokogiri 7~$ rbenv rehash 8~$ rails -v Rails is not currently installed on this system. To get the latest version, simply type: $ sudo gem install rails You can then rerun your "rails" command. 9~$

Si qqun à une solution je suis preneur.
Merci à vous

6 réponses

Lartak, il y a 10 ans

Operation not permitted - /usr/bin/nokogiri

Il semblerait que si tu as une erreur pour installer Rails, que ce ne soit pas à cause de ta version de Ruby, mais plutôt concernant les permissions.

Frank Drebin, il y a 10 ans

Oui j'ai vu l'erreur mais il semble aussi qu on ne puisse pas installer rails sur la version native de osx. Je ne vois pas trop comment m y prendre pour arriver à passer sur la version 2.2.3 que j ai installer. Peut-être est ce une question de PATH ?

Grafikart, il y a 10 ans

Tu es sur ElCapitan surement, le dossier /usr/bin ne peut plus être modifié, et ce même en sudo. C'est une sécurité appellée "rootless" qui est très chiante. Tu peux indiquer à Ruby ou placer les fichier binaire en modifiant le fichier ~/.gemrc

J'y ai mit ça perso :

gem: --bindir /usr/local/bin
Frank Drebin, il y a 10 ans

En effet, ça fonctionne. Mais je n'arrive pas à changer de version de ruby avec

2~$ rbenv global 2.2.3 3~$ ruby -v ruby 2.0.0p645 (2015-04-13 revision 50299) [universal.x86_64-darwin15] 4~$

Peut-être saurais-tu d'ou viens le probleme ?

Lartak, il y a 10 ans

Pour information, la commande rbenv ne permet pas d'installer, mais de gérer différentes versions de Ruby (à conditions qu'elles soient déjà installées sur la machine bien sûr).
C'est un manager, donc un gestionnaire.
Pour installer différentes versions de Ruby avec rbenv, il te faut installer le plugin ruby-build.

Frank Drebin, il y a 10 ans

Oui en effet lartak,j 'avais effectuer l installation avant de changer mon dossier ~/.gemrc et sans soucis mais la viens de retest sans succes :
edit : J'ai reessayé avec la version 2.2.2, l installation c est passé correctement mais un $ruby -v m indique toujours la version 2.0 qui etait à l'origine

1~$ rbenv install 2.2.3 rbenv: /Users/moi/.rbenv/versions/2.2.3 already exists continue with installation? (y/N) y Downloading ruby-2.2.3.tar.gz... -> https://dqw8nmjcqpjn7.cloudfront.net/df795f2f99860745a416092a4004b016ccf77e8b82dec956b120f18bdc71edce Installing ruby-2.2.3... BUILD FAILED (OS X 10.11.1 using ruby-build 20151028) Inspect or clean up the working tree at /var/folders/wd/7q28c35j1dz32ljyx8zjr9s00000gn/T/ruby-build.20151204213847.42496 Results logged to /var/folders/wd/7q28c35j1dz32ljyx8zjr9s00000gn/T/ruby-build.20151204213847.42496.log Last 10 log lines: from /private/var/folders/wd/7q28c35j1dz32ljyx8zjr9s00000gn/T/ruby-build.20151204213847.42496/ruby-2.2.3/lib/rubygems/dependency_installer.rb:394:in `install' from /private/var/folders/wd/7q28c35j1dz32ljyx8zjr9s00000gn/T/ruby-build.20151204213847.42496/ruby-2.2.3/lib/rubygems.rb:558:in `install' from ./tool/rbinstall.rb:722:in `block (2 levels) in <main>' from ./tool/rbinstall.rb:721:in `each' from ./tool/rbinstall.rb:721:in `block in <main>' from ./tool/rbinstall.rb:757:in `call' from ./tool/rbinstall.rb:757:in `block in <main>' from ./tool/rbinstall.rb:754:in `each' from ./tool/rbinstall.rb:754:in `<main>' make: *** [do-install-all] Error 1