【问题标题】:cannot load such file -- openssl (LoadError)无法加载此类文件 -- 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 中的所有内容,但没有成功。

【问题讨论】:

标签: ruby-on-rails rvm


【解决方案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
              

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2020-04-08
                • 1970-01-01
                • 2013-02-13
                • 2015-05-30
                • 2015-01-22
                • 2012-10-25
                • 2020-12-05
                • 2017-03-18
                相关资源
                最近更新 更多