如何在macOS中安装wget?

cfr*_*nco 123 macos wget libssl libressl osx-elcapitan

我尝试在MAC OS 10.11.1中安装wget,但是当我运行时出现./configure --with-ssl=openssl此错误:

configure: error: --with-ssl=openssl was given, but SSL is not available.
Run Code Online (Sandbox Code Playgroud)

如何在OSX 10.11.1中解决此问题?

Far*_*eed 347

首先安装brew:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Run Code Online (Sandbox Code Playgroud)

然后使用brew安装wget并启用openressl以支持TLS

brew install wget
Run Code Online (Sandbox Code Playgroud)

如果您使用Macports进行安装,这也非常简单.

sudo port install wget
Run Code Online (Sandbox Code Playgroud)

  • 我只需要运行`brew install wget --with-libressl`并且它运行完美.谢谢 (21认同)
  • 或者简单地使用:`brew install wget`.Homebrew将安装任何必要的依赖项 (19认同)
  • 安装时有这个吗?`警告:wget:这个公式没有--with-libressl选项,所以它会被忽略!` (7认同)
  • 错误:无效选项:--with-libressl (3认同)
  • 老实说,这是最无痛的答案。使用冲泡!在 brew 中,我们信任! (2认同)

Sun*_*wen 9

对于macOS Sierra,使用Xcode 8.2从源代码构建wget 1.18.

  1. 安装Xcode

  2. 构建OpenSSL

    由于Xcode不附带OpenSSL lib,因此您需要自己构建.我找到了这个:https://github.com/sqlcipher/openssl-xcode,按照说明建立OpenSSL lib.然后,在其中准备OpenSSL目录,其中包含"include"和"lib/libcrypto.a","lib/libssl.a".

    假设它是:"/ Users/xxx/openssl-xcode/openssl",因此对于OpenSSL include和"/ Users/xxx/openssl-xcode /"应该有"/ Users/xxx/openssl-xcode/openssl/include" openssl/lib"for"libcrypto.a"和"libssl.a".

  3. 构建wget

    转到wget目录,配置:

    ./configure --with-ssl=openssl --with-libssl-prefix=/Users/xxx/openssl-xcode/openssl
    
    Run Code Online (Sandbox Code Playgroud)

    wget应该配置并找到OpenSSL,然后make:

    make
    
    Run Code Online (Sandbox Code Playgroud)

    wget做出来了.安装wget:

    make install
    
    Run Code Online (Sandbox Code Playgroud)

    或者只是将wget复制到你想要的地方.

  4. 配置证书

    您可能会发现wget无法验证任何https连接,因为您构建的OpenSSL没有CA证书.你需要运行:

    新方式:

    如果您的机器没有"/ usr/local/ssl /"目录,请首先制作它.

    ln -s /etc/ssl/cert.pem /usr/local/ssl/cert.pem
    
    Run Code Online (Sandbox Code Playgroud)

    旧方式:

    security find-certificate -a -p /Library/Keychains/System.keychain > cert.pem
    security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain >> cert.pem
    
    Run Code Online (Sandbox Code Playgroud)

    然后将cert.pem放到:"/ usr/local/sssl/cert.pem"

    完成:现在应该没问题.

  • @StormeHawke 对于不想使用自制软件的人 (3认同)

小智 5

你需要做

./configure --with-ssl = openssl --with-libssl-prefix = / usr / local / ssl

代替这个

./configure --with-ssl = openssl