【问题标题】:Set Openssl 1.1.1 as a default version将 Openssl 1.1.1 设置为默认版本
【发布时间】:2021-11-28 00:12:18
【问题描述】:

我有 macOS BigSur 11.6。当我运行openssl version 时,我得到了

LibreSSL 2.8.3

我想要的是得到这个输出:

OpenSSL 1.1.1l  24 Aug 2021

/usr/local/opt/中有文件夹:opensslopenssl@3openssl@1.1

我运行了这些命令:

brew install openssl
brew reinstall openssl@3
sudo ln -sfn /usr/local/Cellar/openssl@1.1 /usr/local/opt/openssl

我将export PATH="/usr/local/opt/openssl@1.1/bin:$PATH" 行放在文件~/.profile~/.bash_profile~/bashrc 中。

但没有任何帮助。如何使默认的 openssl 版本 1.1?

请不要在thisthis 问题中提供命令。这些命令不会改变任何东西:只要我打开一个新会话,我就会得到相同的 LibreSSL 2.8.3 而不是 opessl 1.1.1l

export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"
source ~/.profile
source ~/.bash_profile
source ~/.bashrc

UPD 1

  • type -a openssl 表示:
openssl is /usr/bin/openssl
  • echo $PATH 表示:
/usr/local/opt/libressl/bin:/usr/local/opt/python@3.8/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

UPD 2

刚刚创建了unset PATH,在文件~/.profile~/.bash_profile~/bashrc 中设置了同一行export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/opt/openssl@1.1/bin:$PATH",并在bash 中运行了这一行。无论如何,openssl version 的输出相同:LibreSSL 2.8.3

  • bash --norc -c 'PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin; set -x; source ~/.bash_profile' 显示:
+ source /Users/sgalich/.bash_profile
++ export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/opt/openssl@1.1/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
++ PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/opt/openssl@1.1/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
++ export LDFLAGS=-L/usr/local/opt/openssl@1.1/lib
++ LDFLAGS=-L/usr/local/opt/openssl@1.1/lib
++ export CPPFLAGS=-I/usr/local/opt/openssl@1.1/include
++ CPPFLAGS=-I/usr/local/opt/openssl@1.1/include
++ export CPATH=/usr/local/opt/openssl@1.1/include
++ CPATH=/usr/local/opt/openssl@1.1/include
++ export LIBRARY_PATH=/usr/local/opt/openssl@1.1/lib
++ LIBRARY_PATH=/usr/local/opt/openssl@1.1/lib
++ export DYLD_LIBRARY_PATH=/usr/local/opt/openssl@1.1/lib
++ DYLD_LIBRARY_PATH=/usr/local/opt/openssl@1.1/lib
++ export DYLD_FALLBACK_LIBRARY_PATH=/usr/local/opt/openssl@1.1/lib
++ DYLD_FALLBACK_LIBRARY_PATH=/usr/local/opt/openssl@1.1/lib

【问题讨论】:

  • 您使用的是什么 shell,bash 或 zsh(或其他)?运行 ps $$ 应该会告诉你它是什么。
  • 嘿@GordonDavisson,我正在使用 bash
  • 那么我希望它可以工作。 type -a opensslecho "$PATH" 显示什么?
  • @GordonDavisson,在输出中添加了 UPD 1。
  • 所以/usr/local/opt/openssl@1.1/bin 在您的PATH不是;问题是,为什么不呢?您将命令添加到 ~/.bash_profile (这是为初始交互式 bash shell 运行的命令)。检查您的 ~/.bash_profile 以查看在遇到您添加的PATH=... 命令之前是否有任何东西会退出它,或者在那之后在PATH 中删除/替换它的任何东西。使用bash --norc -c 'PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin; set -x; source ~/.bash_profile' 获取执行跟踪并查找类似+ PATH=something 的行可能会有所帮助。

标签: macos openssl


【解决方案1】:

在 MacOS Monterey(带有 M1 芯片)上,路径不同。

我将以下内容添加到 ~/.zshrc

export PATH="/opt/homebrew/opt/openssl@1.1/bin:$PATH"

【讨论】:

    【解决方案2】:

    所以问题出在我的PATH 变量中。在~/.bash_profile添加这一行后,我的问题就解决了:

    PATH="/usr/local/opt/openssl@1.1/bin:$PATH"
    

    感谢@Gordon Davisson的回答!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-13
      • 1970-01-01
      • 1970-01-01
      • 2017-02-20
      • 2016-04-29
      • 2020-02-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多