Ответ 1
Попробуйте следующее:
gem install libv8 -v '3.11.8.17' -- --with-system-v8
Эта ошибка была болью до тех пор, пока я не запустил указанную выше команду:)
Проблема следующая.
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
Затем я проверяю код следующим образом.
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
Я попытался установить командную строку Linux в окна, чтобы работать с "ln -fs". Но проблема все еще не может быть решена.
Попробуйте следующее:
gem install libv8 -v '3.11.8.17' -- --with-system-v8
Эта ошибка была болью до тех пор, пока я не запустил указанную выше команду:)
Попробуйте https://github.com/eakmotion/therubyracer_for_windows. Это решение было решено на моей машине с Windows.
Выполните следующие действия:
SET PATH=<ruby directory>;<python directory>
(например, SET PATH=C:\Ruby192\bin;C:\Python27
)И теперь установите свой жемчуг желания
gem install libv8
Получено это решение из здесь.
Интересно, получаете ли вы эту ошибку для версии. Попробуйте следующее:
gem install libv8 --version 3.11.8.0
Убедитесь, что вы действительно можете запустить команду "which
" в вашей системе. Он не является родным для Windows.
"which
" должен быть установлен, если вы установили DevKit или RailsInstaller. Однако я тоже сталкиваюсь с этой проблемой (у меня также есть несколько версий python, установленных и работающих), и только что обнаружил, что моя команда which
в DevKit...
(и одна из них под RailsInstaller...) на самом деле не является работа.
Окна около эквивалента - "where
". Поэтому вы должны запустить "WHERE which
", чтобы узнать, есть ли/где у вас есть команда "which" в вашей системе.
Это не делает работу "therubyracer" или проблемы с libv8 уходят, но это часть головоломки.
(Я опубликовал проблему для пользователей msysGit, чтобы узнать, что они говорят о команде, не выполняющей команду ").
Я мог бы прочитать это неправильно, но я думаю, что проблема в этой строке:
unless system 'which python2 2>&1 > /dev/null'
Он ищет python2
, когда на самом деле команда для python - это просто python
.
Возможно, попробуйте aliasing python
to python2
.
do: gem install rmagick -v '2.13.2'
а затем выполните: gem install libv8 -v 3.11.8.17 -- --with-system-v8
Эта ошибка относится к libv8-3.11.8.17\ext\libv8\builder.rb script. В строке 60 мы видим этот код:
`python -c 'import platform; print(platform.python_version())'`.chomp
Это неправильный синтаксис команды python в Windows. Вы должны использовать двойные кавычки, например:
`python -c "import platform; print(platform.python_version())"`.chomp
После исправления этого script, вы должны запустить gem install с ключом -l (используйте только локальный). Если вы этого не сделаете, gem снова загрузит script с ошибкой.
Вот следующие шаги, которые я должен предпринять, чтобы заставить therubyracer работать в окнах:
1) Установите Python 2.7
2) Перейдите сюда https://github.com/eakmotion/therubyracer_for_windows и следуйте инструкциям
3) прокомментируйте глагол therubyracer в файле Gemfile и Run Bundle install
#gem 'therubyracer'
4) Uncomment gem therubyracer в Gemfile и Run Bundle install
gem 'therubyracer'