gpt4 book ai didi

ruby - LoadError - 无法打开共享对象文件 - 文件存在,但它说没有这样的文件

转载 作者:太空宇宙 更新时间:2023-11-03 18:04:33 24 4
gpt4 key购买 nike

Ruby 出LoadErrors 看不懂。它提示打开一个共享对象文件,而它存在。

irb(main):001:0> require 'openssl'
LoadError: libssl.so.1.0.0: cannot open shared object file: No such file or directory - /usr/lib/ruby/2.3.0/x86_64-linux/openssl.so
from /usr/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/lib/ruby/2.3.0/openssl.rb:13:in `<top (required)>'
from /usr/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'

但是 ls/usr/lib/ruby/2.3.0/x86_64-linux/openssl.so
返回文件 /usr/lib/ruby/2.3.0/x86_64-linux/openssl.so

加载路径:

irb(main):001:0> pp $LOAD_PATH
["/usr/lib/ruby/site_ruby/2.3.0",
"/usr/lib/ruby/site_ruby/2.3.0/x86_64-linux",
"/usr/lib/ruby/site_ruby",
"/usr/lib/ruby/vendor_ruby/2.3.0",
"/usr/lib/ruby/vendor_ruby/2.3.0/x86_64-linux",
"/usr/lib/ruby/vendor_ruby",
"/usr/lib/ruby/2.3.0",
"/usr/lib/ruby/2.3.0/x86_64-linux"]

另一个示例,安装了 rails gem,生成新项目失败并出现以下 LoadError

/usr/lib/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:120:in `require': libcrypto.so.1.0.0: cannot open shared object file: No such file or directory - /usr/lib/ruby/2.3.0/x86_64-linux/digest/md5.so (LoadError)

再次执行 ls/usr/lib/ruby/2.3.0/x86_64-linux/digest/md5.so 显示文件的存在。

我的 ruby​​ 版本是 ruby 2.3.1p112。如果您想知道,uname -m 返回 x86_64

我想我一定错过了一些明显的东西。非常感谢弹出的任何提示!

最佳答案

感谢 jordanm 的评论,我得以解决问题!

此问题与 openssl 有关。 ldd 打印共享对象依赖项并显示缺少的库。

ldd /usr/lib/ruby/2.3.0/x86_64-linux/openssl.so
...
libssl.so.1.0.0 => not found
libcrypto.so.1.0.0 => not found
...

安装 openssl-1.0 包后,(同时安装了 openssl v1.1.0 包),相同命令的输出看起来更好:

libssl.so.1.0.0 => /usr/lib/libssl.so.1.0.0 (0x00007faddac8f000)
libcrypto.so.1.0.0 => /usr/lib/libcrypto.so.1.0.0 (0x00007fadda814000)

现在,我能够要求'openssl' 以及生成一个新的rails 项目。

但毕竟,ruby 不应该提示缺少包,或者 openssl-1.0 至少应该是 rails 的依赖项吗?

关于ruby - LoadError - 无法打开共享对象文件 - 文件存在,但它说没有这样的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51163676/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com