Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos OSX';s的openssl版本不同于brew';s openssl_Macos_Openssl_Homebrew - Fatal编程技术网

Macos OSX';s的openssl版本不同于brew';s openssl

Macos OSX';s的openssl版本不同于brew';s openssl,macos,openssl,homebrew,Macos,Openssl,Homebrew,我刚刚在终端中输入了openssl版本,结果如下: OpenSSL 0.9.8年2013年2月5日 因此,我运行了brew update和brew升级openssl 第一个返回了从7afeb3af到8cabfe85的更新的自制软件,第二个返回了已经安装的openssl-1.0.1g。 所以类型化的brew链接——强制openssl 在上面的过程之后,我输入了openssl版本,得到了相同的结果 OpenSSL 0.9.8年2013年2月5日 我如何在mac osx 10.9.3上更新openss

我刚刚在终端中输入了openssl版本,结果如下:

OpenSSL 0.9.8年2013年2月5日

因此,我运行了brew updatebrew升级openssl

第一个返回了从7afeb3af到8cabfe85的更新的自制软件,第二个返回了已经安装的openssl-1.0.1g。 所以类型化的brew链接——强制openssl

在上面的过程之后,我输入了openssl版本,得到了相同的结果

OpenSSL 0.9.8年2013年2月5日


我如何在mac osx 10.9.3上更新openssl?

下面是正在发生的事情。您有两个OpenSSL副本

  • 版本0.9.8-位于
    /usr/bin/openssl
    ,预装在OS X上
  • 版本1.0.1g-位于
    /usr/local/ceral/openssl/1.0.1h/bin/openssl
    ,由brew安装
  • 运行
    brew upgrade openssl
    时,实际上运行的是
    brew安装openssl
    ,因为brew尚未在您的系统上安装openssl。(请记住,brew不能控制计算机上的所有软件,只能控制安装的软件)

    原来brew安装openssl的消息是:

    ==> Caveats
    A CA file has been bootstrapped using certificates from the system
    keychain. To add additional certificates, place .pem files in
      /usr/local/etc/openssl/certs
    
    and run
      /usr/local/opt/openssl/bin/c_rehash
    
    This formula is keg-only, so it was not symlinked into /usr/local.
    
    Mac OS X already provides this software and installing another version in
    parallel can cause all kinds of trouble.
    
    The OpenSSL provided by OS X is too old for some software.
    
    Generally there are no consequences of this for you. If you build your
    own software and it requires this formula, you'll need to add to your
    build variables:
    
        LDFLAGS:  -L/usr/local/opt/openssl/lib
        CPPFLAGS: -I/usr/local/opt/openssl/include
    
    这实际上解释了OSX是预装的。如果更改默认的openssl,使用不同的非系统openssl可能会导致问题。因此,brew没有将其链接到您的/usr/local,这可能是您路径的一部分


    我猜想您想升级您的openssl,因为您试图安装的某些软件包需要更新的版本。Ahoy-消息告诉您应该安装该软件包,并将其指向新的闪亮的brew openssl。

    运行
    brew info openssl
    ,然后按照其中的说明操作。不要试图
    ——强制将最新的openssl与OSX默认安装的openssl链接起来。(0.9.8)

    具体来说,它会要求您将自制版本的openssl(自该日期起应为1.0.2)添加到$PATH中。
    echo'export PATH=“/usr/local/opt/openssl/bin:$PATH”>~/.bash\u profile

    注意:确保从bash_配置文件中删除任何
    导出路径
    行,因为上面的这一行将导出它,以便将$PATH变量的其余部分追加到末尾。要查看bash配置文件,请使用
    vi~/.bash\u配置文件


    这样做可以解决安装软件包(尤其是需要编译的Ruby Gems)时出现的任何问题。

    如果它说您安装了1.0.1g,那么您可能会安装,以及0.9.8y。请尝试
    whereis openssl
    查看这两个版本的位置。最有可能的是,0.9.8版本在您的路径中早于1.0.1,但无论如何,它不是一个编程问题。请尝试superuser或serverfault以了解系统配置问题。Openssl位于“/usr/bin/Openssl”中,brew位于“/usr/local/bin/brew”,通过该命令,我如何将其指向新版本的Openssl而不是0.9.8?