問題は次のとおりです。
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コマンドラインをWindowsにインストールして、「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
here からこのソリューションを得ました。
バージョンでこのエラーが発生しているのでしょうか。これを試して:
gem install libv8 --version 3.11.8.0
システムで「which
」コマンドを実際に実行できることを確認してください。 Windowsにネイティブではありません。
Dev_KitまたはRailsInstallerをインストールした場合、「which
」をインストールする必要があります。しかし、私もこの問題に直面しています(pythonがインストールされ動作しているバージョンもあります)、DevKit...
の下のwhich
コマンド(およびRailsInstallerの下の...)は実際には機能していません。
同等のウィンドウは「where
」です。したがって、「WHERE which
」を実行して、システムで「which」コマンドがあるかどうか/どこにあるかを確認する必要があります。
これは「テルビレーサー」を機能させたり、libv8の問題を解決したりしませんが、それはパズルの一部です。
(私はmsysGitの人々に問題を投稿して、非実行の 'which'コマンドについて何を言っているかを確認しました。)
私はこれを間違って読んでいる可能性がありますが、問題は次の行だと思います:
unless system 'which python2 2>&1 > /dev/null'
実際にpythonのコマンドがpython
である場合、python2
を探しています。
おそらく、python
をpython2
にエイリアスしてみてください。
これらは、Windowsでtherubyracerを動作させるために必要な次の手順です。
1)インストールPython 2.7
2)ここに行きます https://github.com/eakmotion/therubyracer_for_windows そして指示に従います
3)Gemfile&Run Bundleインストールでtherubyracer gemをコメントする
#gem 'therubyracer'
4)Gemfile&Run Bundleインストールでgem therubyracerのコメントを外します
gem 'therubyracer'
このエラーは、libv8-3.11.8.17\ext\libv8\builder.rbスクリプトに関するものです。行60では、次のコードを確認できます。
`python -c 'import platform; print(platform.python_version())'`.chomp
これは間違ったpython Windowsのコマンド構文です。次のように二重引用符を使用する必要があります。
`python -c "import platform; print(platform.python_version())"`.chomp
このスクリプトを修正したら、「-l」(ローカルのみを使用)キーでgem installを実行する必要があります。そうしないと、gemはエラーのあるスクリプトを再度ダウンロードします。
行う: gem install rmagick -v '2.13.2'
してから:gem install libv8 -v 3.11.8.17 -- --with-system-v8