【发布时间】: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/中有文件夹:openssl、openssl@3、openssl@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?
请不要在this 或this 问题中提供命令。这些命令不会改变任何东西:只要我打开一个新会话,我就会得到相同的 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 openssl和echo "$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的行可能会有所帮助。