3

同様のエラーはソースからlibcurlをコンパイルするインスタンスを参照しているため、私はこのエラーに頭を悩ませています。ただし、Ubuntu12.04で以前のRailsプロジェクトを実行しようとしているだけです。

Exception Trace from Running Rails Application Server


/var/lib/gems/1.9.1/gems/ffi-1.1.1/lib/ffi/library.rb:121:in `block in ffi_lib': Could not open library 'libcurl': libcurl: cannot open shared object file: No such file or directory. (LoadError)
Could not open library 'libcurl.so': libcurl.so: cannot open shared object file: No such file or directory
    from /var/lib/gems/1.9.1/gems/ffi-1.1.1/lib/ffi/library.rb:88:in `map'
    from /var/lib/gems/1.9.1/gems/ffi-1.1.1/lib/ffi/library.rb:88:in `ffi_lib'
    from /var/lib/gems/1.9.1/gems/typhoeus-0.4.2/lib/typhoeus/curl.rb:405:in `<module:Curl>'
    from /var/lib/gems/1.9.1/gems/typhoeus-0.4.2/lib/typhoeus/curl.rb:6:in `<module:Typhoeus>'
    from /var/lib/gems/1.9.1/gems/typhoeus-0.4.2/lib/typhoeus/curl.rb:5:in `<top (required)>'
    from /var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `require'
    from /var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `block in require'
    from /var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in `block in load_dependency'
    from /var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:640:in `new_constants_in'
    from /var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in `load_dependency'
    from /var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `require'
    from /var/lib/gems/1.9.1/gems/typhoeus-0.4.2/lib/typhoeus.rb:5:in `<top (required)>'
    from /var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `require'
    from /var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `block in require'
    from /var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in `block in load_dependency'
    from /var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:640:in `new_constants_in'
    from /var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in `load_dependency'
    from /var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `require'
    from /var/lib/gems/1.9.1/gems/panda-1.5.0/lib/panda/adapters/faraday.rb:2:in `<top (required)>'
    from /var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `require'
    from /var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `block in require'
    from /var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in `block in load_dependency'
    from /var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:640:in `new_constants_in'
    from /var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:223:in `load_dependency'
    from /var/lib/gems/1.9.1/gems/activesupport-3.1.3/lib/active_support/dependencies.rb:240:in `require'
    from /var/lib/gems/1.9.1/gems/panda-1.5.0/lib/panda.rb:19:in `<top (required)>'
    from /var/lib/gems/1.9.1/gems/bundler-1.2.1/lib/bundler/runtime.rb:68:in `require'
    from /var/lib/gems/1.9.1/gems/bundler-1.2.1/lib/bundler/runtime.rb:68:in `block (2 levels) in require'
    from /var/lib/gems/1.9.1/gems/bundler-1.2.1/lib/bundler/runtime.rb:66:in `each'
    from /var/lib/gems/1.9.1/gems/bundler-1.2.1/lib/bundler/runtime.rb:66:in `block in require'
    from /var/lib/gems/1.9.1/gems/bundler-1.2.1/lib/bundler/runtime.rb:55:in `each'
    from /var/lib/gems/1.9.1/gems/bundler-1.2.1/lib/bundler/runtime.rb:55:in `require'
    from /var/lib/gems/1.9.1/gems/bundler-1.2.1/lib/bundler.rb:128:in `require'

ヘルプや解説をいただければ幸いです。

4

3 に答える 3

8

libcurlは正しくインストールされていますか?Typhoeusにはネイティブ拡張機能はありませんが、 FFIライブラリ.soで動作するため、libcurlダイナミックライブラリ()が必要です。

# from lib/typhoeus/curl.rb
ffi_lib 'libcurl'

開発ファイル(ヘッダー)は必要ないのでsudo apt-get install libcurl3、トリックを実行する必要があります(そうでない場合は、SSLサポート付きの開発バージョンを経由でインストールしますsudo apt-get install libcurl4-openssl-dev)。

于 2012-10-03T12:59:45.120 に答える
3

sudo apt-getinstalllibcurl4-openssl-devが機能しました。

于 2013-10-03T16:21:42.347 に答える
0

(Windowsで)msys2に追加しようとしlibcurl-devel 7.57.0-1ましたが、役に立ちませんでした。(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

したがって、Windowsで同じ問題を抱えている人にとって、回避する簡単な方法LoadError: Could not open library 'libcurl'は次のとおりです。

  • libcurl.dllここにあるパッケージの1つhttps://curl.haxx.se/gknw.net/7.40.0/dist-w64/からを取得し、PATHに配置します。

    (私はそれを下に置きます\ruby24\bin\

同じ問題に関する関連質問:

于 2017-12-11T15:11:52.210 に答える