jekyll serve dependency error - Could not open 'lib curl'

前端 未结 4 926
你的背包
你的背包 2020-12-10 21:11

I am trying to run bundle exec jekyll serve but it comes up with the error:

Dependency Error: Yikes! It looks like you don\'t have jekyll-remote-t

相关标签:
4条回答
  • 2020-12-10 21:57

    My work around was to omit the Jekyll plugins from the Gemfile.

    Original Gemfile:

    source 'https://rubygems.org' gem 'github-pages', group: :jekyll_plugins

    New:

    source 'https://rubygems.org' gem 'github-pages'

    However, if you need to use the plugins, check out TT--'s answer below. I couldn't get it working myself, but it is the exact same problem so if it worked for him I guess it should work.

    0 讨论(0)
  • 2020-12-10 21:59

    Working solution

    It's probably not the 'correct' way but this worked for me:

    • Obtain a libcurl.dll from one of the packages here:

      https://curl.haxx.se/download.html#Win64

      (Link was updated, but originally pointed to version 7.40)

    • Put it on the PATH somehow.

      • (I just put it under \ruby24\bin\)
      • Maybe for you it's C:\Ruby24-x64\bin, which others have suggested.

    About the problem

    • Seems to be coming from Ruby-FFI. (as described here)

    • I got the same error above about the dependencies of jekyll-remote-theme.

      (One of them is typhoeus which uses FFI.)

    • Also, doing a github-pages health-check showed this error :

        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.
    

    Things I tried that didn't work:

    • Putting on the PATH the cygcurl-4.dll obtained from the current Curl Download Wizard
    • Renaming the above cygcurl-4.dll to libcurl.dlland putting it on the PATH
    • Installing the msys2 package libcurl-devel 7.57.0-1
    • Renaming the msys-curl-4.dll (from msys2 found at msys64\usr\bin) to libcurl.dll

    Didn't try:

    • Building curl / libcurl from the latest source. Because I already had the latest according to 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

    0 讨论(0)
  • 2020-12-10 22:05

    The problem I see is mixing the usage of bundle and gem commands, considering you have a Gemfile with just the github-pages gem in your Jekyll root path, do this:

    bundle install
    bundle exec jekyll serve
    

    That should create a folder with all needed dependencies and then execute the newly installed Jekyll version.

    0 讨论(0)
  • I had the same problem. My solution was the one of TT--, but I put the downloaded file libcurl.dll here:

    C:\Ruby24-x64\bin
    

    Any other folder got me the same error, even if it was in the PATH.

    0 讨论(0)
提交回复
热议问题