bundler - Instale la gema therubyracer en OSX 10.11 El Capitán
osx-elcapitan (7)
bundle install
falla con Make sure that `gem install therubyracer -v ''0.12.1''` succeeds before bundling
gem install therubyracer -v ''0.12.1''
falla con errores que parecen estar relacionados con la compilación
Antes de esto, la gema libv8 tenía problemas, pero ahora está instalada gracias a las siguientes publicaciones de SO.
¿Las guías para arreglar el rubyracer para los Mavericks parecen no funcionar debido a los cambios en El Capitán?
ln: /usr/bin/cpp: Operation not permitted
- Instalar xcode a través de la tienda de aplicaciones
- Instale ''herramientas de línea de comando'' para xcode (
xcode-select --install
) - Si usaba rbenv, después de instalar ruby necesitabas
rbenv rehash
Suponiendo que haya ejecutado el
gem install bundler
y haya obtenido errores, elimine su desorden:gem uninstall libv8 gem uninstall therubyracer brew rm v8
Instalar gcc4.2
brew tap homebrew/dupes brew install apple-gcc42
Instalar v8
brew tap homebrew/versions brew install v8-315 brew link --force v8-315
Instalar gemas
gem install libv8 -- --with-system-v8 gem install therubyracer
si obtiene
dyld: lazy symbol binding failed: Symbol not found
undyld: lazy symbol binding failed: Symbol not found
, @rpbaltazar sugiere una alternativa:bundle config --local build.libv8 --with-cxx=/usr/local/bin/g++-4.2 bundle install
(Publicación como un comentario para facilitar la lectura, pero esto debería ser un complemento a la respuesta original aceptada)
Después de ejecutar la respuesta aceptada, estaba enfrentando el error descrito en los comentarios.
La solución que encontré útil para mí fue ejecutar el siguiente
gem uninstall libv8
gem uninstall therubyracer
bundle config --local build.libv8 --with-cxx=/usr/local/bin/g++-4.2
bundle install
Tenga en cuenta que los pasos iniciales de la respuesta aceptada son necesarios, es decir, la instalación del compilador.
La answer proporcionada en la página de therubyracer
Github funcionó para mí:
brew tap homebrew/versions
brew install v8-315
brew link --force v8-315
gem install libv8 -- --with-system-v8
gem install therubyracer
Primero intente eliminar su Gemfile.lock y ejecute bundle install
nuevo. Gemfile.lock será creado de nuevo.
Esto funcionará para la mayoría de los casos en El Capitán.
Sin eso, solo instalará las mismas versiones mencionadas en Gemfile.lock. Si elimina este archivo, la bundle install
recuperará las versiones más recientes de sus gemas.
Sé que esta pregunta es específicamente sobre la instalación de therubyracer -v ''0.12.1'' , pero la solución es actualizar a ''0.12.2'' .
He luchado con esto en algunos proyectos y siempre lo olvido. Entonces eventualmente lo recuerdo y todo funciona.
Asegúrese de limpiar todo lo que haya agregado a bundle config
una vez que no lo necesite con bundle config --delete build.libv8
.
Aquí está el hilo en el repositorio de gemas sobre esto: https://github.com/cowboyd/therubyracer/issues/398#issuecomment-238161167
Si nada de lo anterior te funciona, sigue los consejos de este chico. Desinstalar todo lo relacionado y actualizar gcc lo solucioné para mí.
Todavía tenía problemas con la respuesta de @xxjjnn. La siguiente respuesta de github resolvió. Mi configuración actual: El Capitán 10.11.4 y 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