2017-03-08 23 views
0

編譯Jekyll項目與插件jekyll_lunr_js_search總是在Windows中出現錯誤。然而它在gitlabci上編譯。依賴錯誤:哎呀!它看起來像你沒有_plugins/lunrjs/jekyll_lunr_js_search.rb或其中一個依賴關係安裝

依賴錯誤:哎呀!看起來您沒有安裝D:/myproject/_plugins/lunrjs/jekyll_lunr_js_search.rb或其某個依賴項。爲了按照當前配置使用Jekyll,您需要安裝這個gem。來自Ruby的完整錯誤消息是:'無法加載這樣的文件 - v8'如果遇到麻煩,您可以在https://jekyllrb.com/help/找到有用的資源!

當使用gem install jekyll-lunr-js-search以下錯誤:

C:\MyProj>gem install jekyll-lunr-js-search 
Fetching: json-2.0.3.gem (100%) 
Temporarily enhancing PATH to include DevKit... 
Building native extensions. This could take a while... 
Successfully installed json-2.0.3 
Fetching: ref-2.0.0.gem (100%) 
Successfully installed ref-2.0.0 
Fetching: libv8-3.16.14.19.gem (100%) 
Building native extensions. This could take a while... 
ERROR: Error installing jekyll-lunr-js-search: 
     ERROR: Failed to build gem native extension. 

    current directory: C:/APPs/Ruby23-x64/lib/ruby/gems/2.3.0/gems/libv8-3.16.14.19/ext/libv8 
C:/APPs/Ruby23-x64/bin/ruby.exe -r ./siteconf20170310-14120-1y669dw.rb extconf.rb 
creating Makefile 
The system cannot find the path specified. 
C:/APPs/Ruby23-x64/lib/ruby/gems/2.3.0/gems/libv8-3.16.14.19/ext/libv8/builder.rb:86:in `setup_python!': libv8 requires python 2 to be installed in order to build, but it is currently 3.4.4 (RuntimeError) 
     from C:/APPs/Ruby23-x64/lib/ruby/gems/2.3.0/gems/libv8-3.16.14.19/ext/libv8/builder.rb:53:in `build_libv8!' 
     from C:/APPs/Ruby23-x64/lib/ruby/gems/2.3.0/gems/libv8-3.16.14.19/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:/APPs/Ruby23-x64/lib/ruby/gems/2.3.0/gems/libv8-3.16.14.19 for inspection. 
Results logged to C:/APPs/Ruby23-x64/lib/ruby/gems/2.3.0/extensions/x64-mingw32/2.3.0/libv8-3.16.14.19/gem_make.out 

**文件內容(gem_make.out)**

current directory: C:/APPs/Ruby23-x64/lib/ruby/gems/2.3.0/gems/libv8-3.16.14.19/ext/libv8 
C:/APPs/Ruby23-x64/bin/ruby.exe -r ./siteconf20170310-14120-1y669dw.rb extconf.rb 
creating Makefile 
The system cannot find the path specified. 
C:/APPs/Ruby23-x64/lib/ruby/gems/2.3.0/gems/libv8-3.16.14.19/ext/libv8/builder.rb:86:in `setup_python!': libv8 requires python 2 to be installed in order to build, but it is currently 3.4.4 (RuntimeError) 
    from C:/APPs/Ruby23-x64/lib/ruby/gems/2.3.0/gems/libv8-3.16.14.19/ext/libv8/builder.rb:53:in `build_libv8!' 
    from C:/APPs/Ruby23-x64/lib/ruby/gems/2.3.0/gems/libv8-3.16.14.19/ext/libv8/location.rb:24:in `install!' 
    from extconf.rb:7:in `<main>' 

extconf failed, exit code 1 

注: 我有兩個蟒蛇v2和v3安裝和工作正常。使用py -2輸出測試的蟒蛇外殼如下:

C:\>py -2 
Python 2.7.13 (v2.7.13:a06454b1afa1, Dec 17 2016, 20:53:40) [MSC v.1500 64 bit (AMD64)] on win32 
Type "help", "copyright", "credits" or "license" for more information. 
>>> 
+0

你是如何安裝它的? – marcanuy

+0

在_plugins文件夾內放置「jekyll_lunr_js_search.rb」 – SACn

回答

0

如果你看看lib目錄,你會看到,ruby文件是jekyll-lunr-js-search.rb而不是jekyll_lunr_js_search.rb。此外,它也可以作爲Rubygem包使用。

只需將寶石添加到您的Gemfile中的:jekyll_plugins組,然後運行bundle install並繼續與Jekyll一起構建/提供服務。

+0

我將已經嘗試重新命名的'jekyll-lunr-js-search.rb'文件重命名爲對插件功能沒有任何影響的文件。 Rubygem方法也不起作用。錯誤是一樣的 – SACn

+0

您是否可以通過'bundle install'或'gem install jekyll-lunr-js-search'成功安裝插件? – ashmaroli

+0

沒有失敗,我把輸出放在** EDITED **問題 – SACn