无法加载此类文件 -- openssl (LoadError)

Posted

技术标签:

【中文标题】无法加载此类文件 -- openssl (LoadError)【英文标题】:cannot load such file -- openssl (LoadError) 【发布时间】:2013-02-13 02:29:54 【问题描述】:

在 rvm 的 OS X 中,我如何检查 openssl 是否配置正确? 我得到cannot load such file -- openssl (LoadError) 我已经尝试了Rails 3 - no such file to load -- openssl 中的所有内容,但没有成功。

【问题讨论】:

2021 年最新解决方案:github.com/rvm/rvm/issues/4819#issuecomment-595644550 【参考方案1】:

检查安装了哪些红宝石:

rvm list

然后确保使用已安装的 rubies 之一:

rvm use 1.9.3-p327

并测试openssl 是否可用:

ruby -ropenssl -e "puts :OK"

如果启用openssl,它将打印OK,否则会出现异常

异常情况下=>

更新:

新版本的 rvm 改进了自动化支持:

rvm get stable
rvm autolibs enable
rvm reinstall all --force

旧:

运行:

rvm requirements run force
rvm pkg remove

接着是:

rvm reinstall all --force

此说明不是 OSX 特定的,它适用于所有平台,尽管在 OSX 上它最适合 HomeBrew,当它未安装时,只会显示所需软件的列表,您需要手动安装。

【讨论】:

我仍然遇到同样的错误。我也用 sudo rvm install 1.9.3 --with-openssl-dir=$HOME/.rvm/usr 重新安装了 ruby 效果很好,谢谢! (我不需要执行rvm pkg remove 步骤) 我已经为这个安装苦苦挣扎了 11 个多小时。您的指令是唯一有效的指令。谢谢!!!! 我阅读了rvm reinstall 的错误日志,但它说找不到openssl ... 这不再是 OS X Catalina 下的有效解决方案。似乎 Apple 确实在 Ruby 所需的构建工具上做了很多工作......【参考方案2】:

多年后,由于 brew 升级,解决方案发生了变化,现在可以使用:

# pull full brew git repo
git -C "/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core" fetch --unshallow

# generate new brew tap repo
brew tap-new $USER/old-openssl

# extract openssl 1.0.2t forumlar to $USER/old-openssl
brew extract --version=1.0.2t openssl $USER/old-openssl

# install old openssl from $USER/old-openssl repo
brew install openssl@1.0.2t

# reinstall ruby
rvm reinstall 2.3.4 --with-openssl-dir=`brew --prefix openssl@1.0.2t`

【讨论】:

我需要将 --autolibs=disable 添加到 rvm reinstall 以防止 brew 更新失败。否则,这很有效。谢谢! 谢谢,这终于解决了我的问题!我必须从第一个命令中删除“--unshallow”,否则会出现错误:“致命:完整存储库上的--unshallow 没有意义”【参考方案3】:

试试这个。

rvm install ruby-2.0.0-preview1  --with-openssl-dir=$HOME/.rvm/usr --verify-downloads 1

【讨论】:

【参考方案4】:

我卸载了我的 macbook 上的所有东西(rvm、rails、ruby 等)。

安装的自制软件

已安装的 rvm

rvm requirements run force

rvm install rails

rails new sample_app

cd sample_app

注意: source 'https://rubygems.org' 存在于 Gemfile 中,需要 openssl!

bundle install 成功了

无需指定: --with-openssl-dir=$HOME/.rvm/usr

【讨论】:

【参考方案5】:

要解决此问题,安装 openssl(最好使用 brew)

将 Xcode 更新到最新版本并使用它启用命令行安装

重新安装 rvm 使用 rvm reinstall all

注意rvm reinstall all --force 将删除您之前使用 rvm 安装的所有二进制文件/pkg。

【讨论】:

【参考方案6】:

假设 ruby​​ 已经安装,请执行以下操作:

rvm cleanup all

rvm reinstall all --force

【讨论】:

【参考方案7】:

我遇到了同样的错误,通过打开新的终端会话修复了该错误。

我正在使用frum ruby​​ 版本管理器。

【讨论】:

【参考方案8】:

gem install openssl 为我工作,但没有任何声明取决于openssl,它很奇怪

【讨论】:

【参考方案9】:

以下命令解决了我的问题 注意 2.3.4 是我正在使用的 ruby​​ 版本,根据您的要求进行更改

rvm reinstall 2.3.4 --with-openssl-dir=$rvm_path/usr

确保使用命令echo $rvm_path 正确设置了$rvm_path。如果此路径为空,请检查您的主文件夹是否有 .rvm 文件夹。

在这种情况下使用

rvm reinstall 2.3.4 --with-openssl-dir=~/.rvm/usr

【讨论】:

以上是关于无法加载此类文件 -- openssl (LoadError)的主要内容,如果未能解决你的问题,请参考以下文章

Ruby:无法加载此类文件 - LoadError

如何解决 python openssl load_cert_chain 函数错误?

为啥我无法加载此类文件?

Ruby loaderror 无法加载此类文件

将帮助文件加载到 FactoryBot 文件中会导致“无法加载此类文件”[重复]

机架错误 - LoadError:无法加载此类文件