3

Windows に gem をインストールするtherubyracerと、「'patch' は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチ ファイルとして認識されません」というエラーが表示されます。less を使用しようとすると、therubyracer をインストールするように指示されるため、この gem が必要です。

完全な出力は次のとおりです。

C:\>ruby --version
ruby 2.2.2p95 (2015-04-13 revision 50295) [x64-mingw32]

C:\>gem install therubyracer
Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
ERROR:  Error installing therubyracer:
        ERROR: Failed to build gem native extension.

    C:/Ruby22-x64/bin/ruby.exe -r ./siteconf20150629-3268-otarv8.rb extconf.rb
creating Makefile
'patch' is not recognized as an internal or external command,
operable program or batch file.
C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/libv8-3.16.14.9/ext/libv8/patcher.rb:50:in `block (2 levels) in patch!': failed to apply
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/libv8-3.16.14.9/ext/libv8/patcher.rb:48:in `each'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/libv8-3.16.14.9/ext/libv8/patcher.rb:48:in `block in patch!'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/libv8-3.16.14.9/ext/libv8/patcher.rb:44:in `open'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/libv8-3.16.14.9/ext/libv8/patcher.rb:44:in `patch!'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/libv8-3.16.14.9/ext/libv8/builder.rb:57:in `block in build_libv8!'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/libv8-3.16.14.9/ext/libv8/builder.rb:52:in `chdir'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/libv8-3.16.14.9/ext/libv8/builder.rb:52:in `build_libv8!'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/libv8-3.16.14.9/ext/libv8/location.rb:24:in `install!'
        from extconf.rb:7:in `<main>'

extconf failed, exit code 1

Gem files will remain installed in C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/libv8-3.16.14.9 for inspection.
Results logged to C:/Ruby22-x64/lib/ruby/gems/2.2.0/extensions/x64-mingw32/2.2.0/libv8-3.16.14.9/gem_make.out

上記のログ ファイルには、上記以外の情報は含まれていません。

この問題の回避策をどこから始めればよいかさえわかりません。

注: ruby​​ dev kit を以下にインストールしました。C:\RubyDevKit-mingw64-64-4.7.2

編集:

私はjekyllを実行していて、 Less for Jekyllを使用しようとしているため、これをすべて行っています。

stackoverflow に関する他の回答に基づいて、古いバージョン (3.11.8.0) の libv8 gem をインストールしました。正しくインストールされましたが、エラーは修正されませんでした。therubyracer には独自の libv8 のコピーが含まれているようです。

「therubyracer_for_windows」パッケージをインストールしました。しかし、その後、jekyll serve を実行しようとすると、エラーが発生しました。

Configuration file: C:/data/adamantworks/Adamantworks.Web-jekyll/_config.yml
jekyll 2.5.2 | Error:  uninitialized constant V8::JSError

そのため、jekyll と互換性のない古いものが含まれているようです。rubyracer_for_windows をアンインストールしました。

4

1 に答える 1

-1

私は同じ問題を抱えていました。Makebundle update libv8とその完了;)

于 2015-07-06T22:48:34.960 に答える