101 votes

Comment installer la gemme therubyracer sur 10.10 Yosemite ?

Je n'arrive pas à installer la gemme therubyracer sur Yosemite 10.10.

Voici le journal :

11:53  $ gem install libv8 -v '3.16.14.3' -- --with-system-v8

Building native extensions with: '--with-system-v8'
This could take a while...
Successfully installed libv8-3.16.14.3
Parsing documentation for libv8-3.16.14.3
Installing ri documentation for libv8-3.16.14.3
Done installing documentation for libv8 after 0 seconds
1 gem installed

02:05  $ gem install therubyracer -v '0.12.1' -- --with-system-v8

Building native extensions with: '--with-system-v8'
This could take a while...
ERROR:  Error installing therubyracer:
    ERROR: Failed to build gem native extension.

    /usr/local/var/rbenv/versions/2.1.2/bin/ruby extconf.rb --with-system-v8
checking for main() in -lpthread... yes
checking for main() in -lobjc... yes
checking for v8.h... no
\*\*\* extconf.rb failed \*\*\*
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
    --with-opt-dir
    --without-opt-dir
    --with-opt-include
    --without-opt-include=${opt-dir}/include
    --with-opt-lib
    --without-opt-lib=${opt-dir}/lib
    --with-make-prog
    --without-make-prog
    --srcdir=.
    --curdir
    --ruby=/usr/local/var/rbenv/versions/2.1.2/bin/ruby
    --with-pthreadlib
    --without-pthreadlib
    --with-objclib
    --without-objclib
    --enable-debug
    --disable-debug
    --with-v8-dir
    --without-v8-dir
    --with-v8-include
    --without-v8-include=${v8-dir}/include
    --with-v8-lib
    --without-v8-lib=${v8-dir}/lib
/usr/local/var/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/libv8-3.16.14.3/ext/libv8/location.rb:50:in \`configure': You have chosen to use the version of V8 found on your system (Libv8::Location::System::NotFoundError)
and \*not\* the one that is bundle with the libv8 rubygem. However,
it could not be located. please make sure you have a version of
v8 that is compatible with 3.16.14.3 installed. You may
need to special --with-v8-dir options if it is in a non-standard
location

thanks,
The Mgmt

    from /usr/local/var/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/libv8-3.16.14.3/lib/libv8.rb:7:in \`configure\_makefile'
    from extconf.rb:32:in \`'

extconf failed, exit code 1

Gem files will remain installed in /usr/local/var/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/gems/therubyracer-0.12.1 for inspection.
Results logged to /usr/local/var/rbenv/versions/2.1.2/lib/ruby/gems/2.1.0/extensions/x86\_64-darwin-14/2.1.0-static/therubyracer-0.12.1/gem\_make.out

0 votes

Vous aussi vous rencontrez des problèmes avec Yosemite :D

0 votes

Je sais, j'aime être un aventurier :-P

1 votes

J'ai aussi des problèmes avec ça, j'ai essayé de faire brew install v8, aussi mais ça n'a pas marché.

260voto

Wylkon Points 491
gem uninstall libv8
brew install v8
gem install therubyracer
gem install libv8 -v '3.16.14.3' -- --with-system-v8

c'est la seule façon dont cela a fonctionné pour moi sur 10.10 (ruby 2.1.2)

Ou essayez gem install libv8 -v 'XX.XX.XX' -- --with-system-v8 ajout de la version de la gemme :)

Mise à jour pour Mac OS Catalina :

brew tap homebrew/versions
brew install v8@3.15
brew link --force v8@3.15
gem install libv8 -v 'XX.XX.XX' -- --with-system-v8
gem install therubyracer

3 votes

Oui, c'est celui qui aide sans aucune bizarrerie. Même si vous n'obtenez qu'une erreur de libv8, faites-le ! Merci.

2 votes

Yep. C'est la bonne façon de faire. Surtout si vous avez reconstruit votre ruby avec les derniers outils de ligne de commande de la 10.10.

3 votes

Cela a fonctionné pour moi avec Ruby 2.1.3 sous OS X Yosemite.

68voto

mymlyn Points 742
git clone https://github.com/cowboyd/libv8.git
cd libv8
bundle install
bundle exec rake clean build binary
gem install pkg/libv8-3.16.14.3-x86_64-darwin-12.gem #note that libv8 version may change, so tab through files in pkg/, also remember to use the one with version specified

alors il suffit de regrouper les gemmes de votre projet

c'est la seule façon dont cela a fonctionné pour moi sur 10.10 (ruby 2.1.2)

2 votes

Merci mais c'est libv8, je parlais de la gemme therubyracer.

2 votes

C'est ce dont vous avez besoin pour éviter les problèmes avec therubyracer

2 votes

Je m'en fiche si j'enfreins les règles. Je ne peux pas vous remercier assez. Vous avez sauvé un énorme délai de projet pour moi.

26voto

J T Points 8450

Peut-être que cela sera utile pour quelqu'un mais j'ai eu des problèmes pour installer therubyracer (à cause des problèmes avec libv8) la solution était de désinstaller toutes les libv8 que j'avais installées. Installer therubyracer

$ gem uninstall libv8
$ gem install therubyracer -v '0.12.0'
Fetching: libv8-3.16.14.7-x86_64-darwin-14.gem ( 57%)
Fetching: libv8-3.16.14.7-x86_64-darwin-14.gem (100%)
Successfully installed libv8-3.16.14.7-x86_64-darwin-14
Building native extensions.  This could take a while...
Successfully installed therubyracer-0.12.0
2 gems installed

J'espère que cela aidera quelqu'un.

0 votes

Cela semble avoir fonctionné pour moi. Cependant, je tiens à souligner que la meilleure façon de désinstaller toutes les versions de la gemme libv8 est : gem uninstall libv8 -a -x . Si vous utilisez un gestionnaire de version de ruby (par ex. rbenv etc.) alors cela ne fonctionne que pour votre version actuelle de ruby (au cas où ce ne serait pas évident).

0 votes

Cette solution a fonctionné pour moi - El Capitan 10.11.6, Ruby - ruby 1.9.3p448 (2013-06-27 révision 41675)

6voto

CloudMagick Points 422

J'ai pu continuer avec ruby racer après rm Gemfile.lock

à l'avance : J'ai installé la v8 via brew install v8 et a ensuite fait gem install libv8 -v '3.16.14.3' -- --with-system-v8

et je fonctionne sous 10.10 Yosemite

4voto

Borromakot Points 59

Ils ont corrigé ce problème dans la version la plus récente de libv8. Voir : https://github.com/cowboyd/libv8/issues/123

Vous devez installer à partir du dépôt github, dans rails j'ai ajouté une ligne à mon gemfile comme ceci gem "libv8", git: "git://github.com/cowboyd/libv8.git", submodules: true

EDIT :

Apparemment, cela ne résout qu'une partie du problème. J'ai installé la nouvelle version de libv8, mais maintenant le rubyracer cherche toujours l'autre, je pense ? Je cherche encore.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X