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
xcode-select --install
)rbenv rehash
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
Installer gcc4.2
brew tap homebrew/dupes
brew install Apple-gcc42
Installer la v8
brew tap homebrew/versions
brew install v8-315
brew link --force v8-315
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
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
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
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
(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.
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]
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.
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
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.