web-dev-qa-db-fra.com

Installer la gemme therubyracer sur OSX 10.11 El Capitan

bundle install échoue avec Make sure that `gem install therubyracer -v '0.12.1'` succeeds before bundling

gem install therubyracer -v '0.12.1' échoue avec des erreurs qui semblent liées à la compilation

Avant cela, libv8 gem avait des problèmes mais il est maintenant installé grâce aux messages SO.

Guides pour la fixation de rubyracer pour Mavericks semblent ne pas fonctionner, en raison de changements dans El Capitan?

ln: /usr/bin/cpp: Operation not permitted 
23
xxjjnn
  1. Installez xcode via l'App Store
  2. Installez les "outils de ligne de commande" pour xcode (xcode-select --install)
  3. Si vous utilisez rbenv, après avoir installé Ruby vous aviez besoin de rbenv rehash
  4. En supposant que vous avez exécuté gem install bundler et obtenu des erreurs, supprimez votre gâchis:

    gem uninstall libv8
    gem uninstall therubyracer
    brew rm v8
    
  5. Installer gcc4.2

    brew tap homebrew/dupes
    brew install Apple-gcc42
    
  6. Installer la v8

    brew tap homebrew/versions
    brew install v8-315
    brew link --force v8-315
    
  7. Installer des gemmes

    gem install libv8 -- --with-system-v8
    gem install therubyracer
    

    si vous obtenez dyld: lazy symbol binding failed: Symbol not found, @rpbaltazar propose une alternative:

    bundle config --local build.libv8 --with-cxx=/usr/local/bin/g++-4.2
    bundle install
    
89
xxjjnn

J'ai toujours eu des problèmes avec la réponse de @ xxjjnn. La réponse suivante de github l'a résolu. Ma configuration actuelle: El Capitan 10.11.4 et Xcode 7.3.

brew tap homebrew/versions
brew install v8-315

gem install libv8 -v '3.16.14.13' -- --with-system-v8
gem install therubyracer -- --with-v8-dir=/usr/local/opt/v8-315

bundle install
49
Phil Tran

La page réponse fournie sur therubyracer Github a fonctionné pour moi:

brew tap homebrew/versions
brew install v8-315
brew link --force v8-315
gem install libv8 -- --with-system-v8
gem install therubyracer
10
Jan Klimo

Je sais que cette question concerne spécifiquement l'installation de therubyracer -v '0.12.1' , mais la solution est vraiment de passer à '0,12,2' .

J'ai eu du mal avec cela sur quelques projets et je l'oublie toujours. Puis finalement je me souviens et tout fonctionne.

Assurez-vous de nettoyer tout ce que vous avez ajouté à bundle config une fois que vous n'en avez pas besoin avec bundle config --delete build.libv8.

Voici le fil sur le dépôt de gemmes à ce sujet: https://github.com/cowboyd/therubyracer/issues/398#issuecomment-238161167

2
equivalentideas

(Publication en tant que commentaire à des fins de lisibilité, mais cela devrait être un complément à la réponse acceptée d'origine)

Après avoir exécuté la réponse acceptée, je faisais face à l'erreur décrite dans les commentaires.

La solution que j'ai trouvée utile pour moi était d'exécuter ce qui suit

gem uninstall libv8
gem uninstall therubyracer
bundle config --local build.libv8 --with-cxx=/usr/local/bin/g++-4.2
bundle install

Veuillez noter que les étapes initiales de la réponse acceptée sont nécessaires, à savoir l'installation du compilateur.

2
rpbaltazar

Réellement, Apple-gcc42 est supprimé de l'infusion:

Apple-gcc42 a été supprimé de homebrew/core dans commit bcba321ea:

Au lieu de cela, j'ai installé [email protected] Donc, en suivant réponse xxjjnn , au lieu de 5, lancez simplement:

brew install [email protected]
1
Andrew

Essayez d'abord de supprimer votre Gemfile.lock et exécutez bundle install encore. Gemfile.lock sera à nouveau créé.

Cela fonctionnera pour la plupart des cas sur El Capitan.

Sans cela, il installera simplement les mêmes versions mentionnées dans Gemfile.lock. Si vous supprimez ce fichier, bundle install récupérera les dernières versions de vos gemmes.

1
Sven R.

J'ai mis à jour le gem therubyracer à 0.12.2, puis j'ai exécuté ces commandes dans le référentiel Rails:

$ brew install v8-315
$ bundle config --local build.libv8 --with-system-v8
You are replacing the current local value of build.libv8, which is currently nil
$ bundle config --local build.therubyracer --with-v8-dir=$(brew --prefix v8-315)
You are replacing the current local value of build.therubyracer, which is currently nil

et enfin

bundle install
0
anquegi

Si aucun des éléments ci-dessus ne vous convient, suivez ces conseils. La désinstallation de tout ce qui est lié et la mise à niveau de gcc l'ont corrigé pour moi.

Gem install therubyracer -v '0.11.4'?

0
don.najd