J'essaie d'installer libv8 3.16.14.3 mais j'obtiens une erreur sur OSX Mavericks en utilisant les derniers rvm stables et ruby-1.9.3-p125.
Voici la sortie de l'exécution de la commande 'gem install libv8':
~/src(branch:master) » gem install libv8
Fetching: libv8-3.16.14.3.gem (100%)
Building native extensions. This could take a while...
ERROR: Error installing therubyracer:
ERROR: Failed to build gem native extension.
/Users/me/.rvm/rubies/ruby-1.9.3-p125/bin/ruby extconf.rb
creating Makefile
Compiling v8 for x64
Using python 2.7.5
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Unable to find a compiler officially supported by v8.
It is recommended to use GCC v4.4 or higher
Using compiler: g++
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Unable to find a compiler officially supported by v8.
It is recommended to use GCC v4.4 or higher
libtool: unrecognized option `-static'
libtool: Try `libtool --help' for more information.
make[1]: *** [/Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/libpreparser_lib.a] Error 1
make: *** [x64.release] Error 2
/Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/ext/libv8/location.rb:36:in `block in verify_installation!': libv8 did not install properly, expected binary v8 archive '/Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/tools/gyp/libv8_base.a'to exist, but it was not found (Libv8::Location::Vendor::ArchiveNotFound)
from /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/ext/libv8/location.rb:35:in `each'
from /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/ext/libv8/location.rb:35:in `verify_installation!'
from /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/ext/libv8/location.rb:26:in `install!'
from extconf.rb:7:in `<main>'
GYP_GENERATORS=make \
build/gyp/gyp --generator-output="out" build/all.gyp \
-Ibuild/standalone.gypi --depth=. \
-Dv8_target_arch=x64 \
-S.x64 -Dv8_enable_backtrace=1 -Dv8_can_use_vfp2_instructions=true -Darm_fpu=vfpv2 -Dv8_can_use_vfp3_instructions=true -Darm_fpu=vfpv3
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/allocation.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/atomicops_internals_x86_gcc.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/bignum.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/bignum-dtoa.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/cached-powers.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/conversions.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/diy-fp.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/dtoa.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/fast-dtoa.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/fixed-dtoa.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/once.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/preparse-data.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/preparser.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/preparser-api.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/scanner.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/strtod.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/token.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/unicode.o
CXX(target) /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/obj.target/preparser_lib/src/utils.o
LIBTOOL-STATIC /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/vendor/v8/out/x64.release/libpreparser_lib.a
Gem files will remain installed in /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3 for inspection.
Results logged to /Users/me/.rvm/gems/ruby-1.9.3-p125@proj-rails3-ruby19/gems/libv8-3.16.14.3/ext/libv8/gem_make.out
la source
--with-system-v8
FTW!bundle config build.libv8 --with-system-v8
aide!bundle update
m'atherubyracer
gem après avoir résolu celui-ci: stackoverflow.com/questions/23536893/…Vous pouvez réellement installer cette version sur Mavericks:
Je peux confirmer que cela fonctionne avec rbenv et ruby 1.9.3p448
la source
gem install libv8 -- --with-system-v8
Solution El Capitan pour moi:
Où était
REQUIRED_LIBV8_VERSION
pour moi3.16.14.7
, mais vous devez vérifier lequel est celui dont vous avez besoin dans votre bundle (c'était celui pour les rails4.2.5
)Vous devrez peut-être également exécuter les commandes ci-dessus en tant que superutilisateur (si vos gemmes et bibliothèques système sont globales)
la source
Lorsque j'essayais la réponse acceptée, libv8 s'installait avec succès
gem install libv8
, maisbundle install
échouait sur libv8. Je pense quebundle install
j'essayais d'installer une version différente de libv8. J'ai pu trouver une solution qui fonctionnait pour moi.J'avais besoin de libv8 car le therubyracer en dépend. Pour le faire installer, j'ai noté la version qui ne parvenait pas à installer dans le
gem_make.out
journal de therubyracer. (Le chemin dugem_make.out
journal sera dans le message d'échec.) Dans mon cas, c'était 3.16.14.7. (Cette version changera probablement au fil du temps, au cas où vous liriez ceci dans trois ans.) Ensuite, j'ai fait ceci:gem install libv8 -v 3.16.14.7 -- --with-v8-lib
<- noter un indicateur différent de la réponse acceptéece qui a permis que cela fonctionne:
gem install therubyracer
ce qui m'a permis de terminer mon
bundle install
.Cela a fonctionné pour moi sur OSX Yosemite.
la source
https://github.com/cowboyd/therubyracer/issues/339
La solution de jasonlynes trouvée sur ce lien a fait l'affaire pour moi. rien d'autre n'a fonctionné.
la source
Vous pouvez configurer bundler au lieu d'avoir à connaître chaque version. @ 3.15 pourrait être remplacé par d'autres versions.
la source
J'ai mis à jour vers macOS Catalina @ 10.15 et
ruby 2.6.5
. Après un certain temps obtenulibv8
ettherubyracer
d'installer à nouveau, bien que je vous recommande de ne pas mettre à jour macOS encore (j'ai entenduruby
devrait être bien).J'ai d'abord dû mettre à jour XCode
xcode-select --install
Je
rbenv
à la mise à jourruby
, et de définir la laruby
version manuellement/Users/<username>/.rbenv/version
pour2.6.5
. Bien que cela ne soit pas important si votre projet contient un.ruby-version
fichier.Ensuite , je nettoyais une version que j'ai installé en arrière
libv8
(généralement/usr/local/opt/
):brew uninstall v8
,brew uninstall [email protected]
brew install [email protected]
Maintenant, en suivant https://github.com/cowboyd/libv8#do-i-get-a-binary , j'ai installé
gem install libv8 -v '3.16.14.19' -- --with-system-v8
puis pourrait fonctionner
bundle install
sans erreurs.la source
Mon problème est depuis
therubyracer
, lors de la mise à jour versmacOS 10.15
etruby-2.6.5
Et ce qui suit fonctionne pour moi:
la source
Essayez avec ce que j'ai résumé dans cette question: "gem install therubyracer -v '0.10.2'" sur osx mavericks ne pas installer
Cela a fonctionné pour moi (OS X Mavericks)
la source
J'ai eu ce même problème lors de la mise à niveau d'OSX Mountain Lion vers OSX Mavericks. La réponse acceptée a fonctionné pour libv8, mais pas lorsque je suis allé installer bundle therubyracer gem.
La mise à niveau de ruby-1.8.7-p354 à ruby-1.8.7-375 a fait l'affaire pour moi. libv8 (3.16.14.3-x86_64-darwin-13) et les gemmes therubyracer (0.12.0) installés sans problème.
en supposant que vous utilisez rbenv:
la source
CA marchait bien pour moi:
Essayez d'installer ce bijou précompilé:
https://dl.dropboxusercontent.com/u/7919548/gems/libv8/libv8-3.11.8.17-x86_64-darwin-13.gem (sha1: 5ce07aaf4085fff5a5e10fe018fd6b22021bef3b)
Ou si vous préférez construire le vôtre:
Source: https://github.com/cowboyd/libv8/issues/107
Merci à Felix Bünemann pour le correctif!
la source
J'ai essayé un certain nombre de solutions décrites dans les réponses précédentes, mais j'ai constaté que l'exécution du bundle (pour installer d'autres gemmes manquantes) tenterait de recompiler libv8 (malgré l'avoir déjà installé avec succès en utilisant
--with-system-v8
) et souffrait donc du même problème.Finalement, j'ai trouvé que la suppression de la gem libv8, la récupération du fichier gem de rubygems, puis l'installation manuelle du
.gem
fichier avec l'--with-system-v8
indicateur fonctionnaient pour moi.c'est à dire
Merci à la réponse de Gaurav Agarwal de m'avoir conduit sur la bonne voie!
la source
Rien de tout cela ne m'a aidé ... peu importe ce que j'ai fait, mon installation de gem de therubyracer se plaignait toujours de cette erreur:
Ce qui m'a finalement aidé, c'est cet autre forum sur lequel je suis tombé sur https://www.bountysource.com/issues/82833405-libv8-fails-to-build-on-catalina-10-15
La solution finale qui a fonctionné pour moi:
J'ai dû ajouter ces lignes à mon fichier .zshrc:
Ensuite, j'ai dû exécuter ces commandes:
J'espère que quelqu'un d'autre trouve cela utile!
la source
Vous pouvez essayer de compiler et d'installer manuellement la gemme via la méthode mentionnée sur le site github libv8.
la source
Dans MAC-Yosemite avec environnement RVM et version ruby-2.1.1
gem install libv8 -v 3.16.14.3 -- --with-v8-lib gem install therubyracer
Il fonctionne à l'aide de la commande ci-dessus, peut le confirmer.
la source
Ce qui a vraiment fonctionné pour moi, c'est la mise à niveau de ruby vers 2.2.0, la suppression de Gemfile.lock et le regroupement à nouveau.
A fonctionné comme un charme!
la source
C'est ce qui a fonctionné pour moi.
remplacez
3.16.14.7
par votre version.la source
J'ai rencontré un problème similaire sur El Cap. Voici ce que j'ai fait.
Puis,
Finalement,
la source
J'utilisais une version bêta de Xcode pour un autre projet et j'avais oublié. Revenez avec
xcode-select
. Quelque chose comme:la source
Supprimer du Gemfile:
gem 'therubyracer',: plates-formes =>: rubis
la source