我正在尝试运行bundle exec jekyll serve
,但它出现了错误:
Dependency Error: Yikes! It looks like you don't have jekyll-remote-theme or one of its dependencies installed. In order to use Jekyll as currently configured, you'll need to install this gem. The full error message from Ruby is: 'Could not open library 'libcurl': The specified module could not be found. . Could not open library 'libcurl.dll': The specified module could not be found. . Could not open library 'libcurl.so.4': The specified module could not be found. . Could not open library 'libcurl.so.4.dll': The specified module could not be found. ' If you run into trouble, you can find helpful resources at https://jekyllrb.com/help/!
jekyll 3.6.2 | Error: jekyll-remote-theme
所以我检查了是否安装了curl:
$ curl --version
curl 7.50.1 (x86_64-w64-mingw32) libcurl/7.50.1 OpenSSL/1.0.2h zlib/1.2.8 libidn/1.33 libssh2/1.7.0 nghttp2/1.13.0 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp scp sftp smtp smtps telnet tftp
Features: IDN IPv6 Largefile SSPI Kerberos SPNEGO NTLM SSL libz TLS-SRP HTTP2 Metalink
我搜索过类似的问题,但解决方案似乎与我的问题无关。我是Jekyll和Ruby的新手,我只是希望能够离线查看我的Github页面。
我正在使用Windows 7 64位。任何建议将不胜感激!
答案 0 :(得分:3)
我遇到了同样的问题。我的解决方案是TT--,但我将下载的文件libcurl.dll
放在这里:
C:\Ruby24-x64\bin
任何其他文件夹都会给我带来同样的错误,即使它在PATH中也是如此。
答案 1 :(得分:2)
可能不是正确的'方式,但这对我有用:
从此处的其中一个软件包中获取libcurl.dll
:
<强> https://curl.haxx.se/download.html#Win64 强>
(链接已更新,但最初指向版本7.40
)
以某种方式将它放在 PATH
上。
\ruby24\bin\
)C:\Ruby24-x64\bin
,其他人建议。似乎来自Ruby-FFI。 (as described here)
我在上面遇到了与jekyll-remote-theme
的依赖关系相同的错误。
(One of them is typhoeus
使用FFI。)
此外,执行github-pages health-check
会显示此错误:
ffi-1.9.18-x64-mingw32/lib/ffi/library.rb:147:in `block in ffi_lib': Could not
open libra (LoadError): The specified module could not be found.
Could not open library 'libcurl.dll': The specified module could not be found.
Could not open library 'libcurl.so.4': The specified module could not be
found.
Could not open library 'libcurl.so.4.dll': The specified module could not be
found.
cygcurl-4.dll
放入PATH
cygcurl-4.dll
重命名为libcurl.dll
并将其置于PATH msys2
包libcurl-devel 7.57.0-1
msys-curl-4.dll
(从msys2
处的msys64\usr\bin
)重命名为libcurl.dll
没试过:
从最新的源代码构建curl / libcurl。因为根据pacman -Ss libcurl
我已经拥有了最新版本:
msys/libcurl 7.57.0-1 (libraries) [installed]
Multi-protocol file transfer library (runtime)
msys/libcurl-devel 7.57.0-1 (development) [installed]
Libcurl headers and libraries
答案 2 :(得分:2)
我的工作是省略Gemfile中的Jekyll插件。
原始Gemfile:
source 'https://rubygems.org'
gem 'github-pages', group: :jekyll_plugins
新:
source 'https://rubygems.org'
gem 'github-pages'
但是,如果您需要使用插件,请查看下面的TT--的答案。我不能让它自己工作,但这是完全相同的问题,所以如果它对他有效,我想它应该有效。
答案 3 :(得分:-1)
我看到的问题是混合使用bundle和gem命令,考虑到你的Jekyll根路径中只有github-pages gem的Gemfile,请执行以下操作:
bundle install
bundle exec jekyll serve
这应创建一个包含所有必需依赖项的文件夹,然后执行新安装的Jekyll版本。