ruby on rails - joya instalar libv8--version ''3.11.8.17'' en ruby (windows)
ruby-on-rails (8)
El problema es el siguiente.
Error installing libv8:
ERROR: Failed to build gem native extension.
D:/Ruby193/bin/ruby.exe extconf.rb
creating Makefile
The system can not find the specified path
D:Ruby193/lib/ruby/gems/1.9.1/gems/libv8-3.11.8.17/ext/libv8/builder.rb:49:in''setup_python!'':libv8 requires python 2 to be installed in order to build,but it is currently not available (RuntimeError)
from D:Ruby193/lib/ruby/gems/1.9.1/gems/libv8-3.11.8.17/ext/libv8/builder.rb:35:in ''block in build_libv8!''
from D:Ruby193/lib/ruby/gems/1.9.1/gems/libv8-3.11.8.17/ext/libv8/builder.rb:34:in ''chdir''
from D:Ruby193/lib/ruby/gems/1.9.1/gems/libv8-3.11.8.17/ext/libv8/builder.rb:34:in ''build_libv8!''
from D:Ruby193/lib/ruby/gems/1.9.1/gems/libv8-3.11.8.17/ext/libv8/builder.rb:34:in ''install!''
from extconf.rb:7: in ''<main>''
I have installed the python27 and add the path.
python --version
Python 2.7.4
Luego verifico el código como sigue.
def setup_python!
# If python v2 cannot be found in PATH,
# create a symbolic link to python2 the current directory and put it
# at the head of PATH. That way all commands that inherit this environment
# will use ./python -> python2
if python_version !~ /^2/
unless system ''which python2 2>&1 > /dev/null''
fail "libv8 requires python 2 to be installed in order to build, but it is currently #{python_version}"
end
`ln -fs #{`which python2`.chomp} python`
ENV[''PATH''] = "#{File.expand_path ''.''}:#{ENV[''PATH'']}"
end
end
Intenté instalar la línea de comandos de Linux en Windows para que el ''ln -fs'' funcionara. Pero el problema todavía no se puede resolver.
Estos son los siguientes pasos que debo seguir para que therubyracer funcione en Windows:
1) Instalar Python 2.7
2) Vaya aquí https://github.com/eakmotion/therubyracer_for_windows y siga las instrucciones
3) comenta la gema de therubyracer en la instalación de Gemfile & Run Bundle
#gem ''therubyracer''
4) Elimine el seguimiento de la gema therubyracer en la instalación de Gemfile & Run Bundle
gem ''therubyracer''
Podría estar leyendo esto mal, pero creo que el problema es esta línea:
unless system ''which python2 2>&1 > /dev/null''
Está buscando python2
cuando, de hecho, el comando para python es simplemente python
.
Quizás intente aliasing python
a python2
.
Sigue estos pasos:
- Obtén Python adecuado desde aquí http://python.org/download/
- Establezca la ruta con este comando
SET PATH=<ruby directory>;<python directory>
(por ejemplo,SET PATH=C:/Ruby192/bin;C:/Python27
)
Y ahora instala tu gema de deseo
gem install libv8
Tengo esta solución desde aquí .
Me pregunto si está obteniendo este error para la versión. Prueba esto:
gem install libv8 --version 3.11.8.0
Prueba esto:
gem install libv8 -v ''3.11.8.17'' -- --with-system-v8
Este error fue un dolor hasta que ejecute el comando anterior :)
Asegúrese de que puede ejecutar el comando " which
" en su sistema. No es nativo de Windows.
" which
" debería instalarse si instaló DevKit o RailsInstaller. Sin embargo, también me estoy metiendo en este problema (también tengo varias versiones de python instaladas y en funcionamiento), y acabo de descubrir que mi comando DevKit...
en DevKit...
(y el que está bajo RailsInstaller ...) no funciona en realidad .
Las ventanas cercanas al equivalente son " where
". Por lo tanto, debe ejecutar " WHERE which
" para averiguar si / dónde tiene el comando "which" en su sistema.
Eso no hace que ''therubyracer'' funcione, o los problemas con libv8 desaparecen, pero es parte del rompecabezas.
(Publiqué el problema a la gente de msysGit para ver qué dicen sobre el comando "que no se ejecuta").
do: gem install rmagick -v ''2.13.2''
y luego hacer: gem install libv8 -v 3.11.8.17 -- --with-system-v8
Este error se trata de un script libv8-3.11.8.17 / ext / libv8 / builder.rb. En la línea 60 podemos ver este código:
`python -c ''import platform; print(platform.python_version())''`.chomp
Esta es una sintaxis incorrecta del comando python en Windows. Deberías usar comillas dobles, como esta:
`python -c "import platform; print(platform.python_version())"`.chomp
Después de corregir este script, debe ejecutar la instalación de gem con la clave "-l" (use local only). Si no lo hace, gem descargará un script con un error nuevamente.
Pruebe con https://github.com/eakmotion/therubyracer_for_windows . Había solucionado el mismo problema en mi máquina de Windows usando esta solución.