我正在尝试使用自制软件在我的 M1 Macbook 上安装 PHP。当我运行
brew install php
时,出现以下错误:
Error: php: Failed to download resource "freetds"
Download failed: Homebrew-installed `curl` is not installed for: https://www.freetds.org/files/stable/freetds-1.3.18.tar.bz2
我研究了这个问题,发现了另一个解决我的具体问题的问题:
这个问题的唯一答案是安装curl,所以我运行了
brew install curl
并让它运行了漫长的下载和安装。完成后,我再次运行brew install php
,但我仍然遇到相同的错误,因此这个问题中的解决方案并没有解决我的问题。
我认为brew安装中一定出了问题,所以我再次运行它并在最后注意到这个输出:
==> Installing curl dependency: [email protected]
==> perl ./Configure --prefix=/Users/ciesinsg/homebrew/Cellar/[email protected]/1.1.1u --openssldir=/Users/
==> make
Last 15 lines from /Users/ciesinsg/Library/Logs/Homebrew/[email protected]/02.make:
clang -I. -Iinclude -fPIC -arch arm64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/Users/ciesinsg/homebrew/etc/[email protected]\"" -DENGINESDIR="\"/Users/ciesinsg/homebrew/Cellar/[email protected]/1.1.1u/lib/engines-1.1\"" -D_REENTRANT -DNDEBUG -MMD -MF crypto/sha/sha1_one.d.tmp -MT crypto/sha/sha1_one.o -c -o crypto/sha/sha1_one.o crypto/sha/sha1_one.c
clang -I. -Iinclude -fPIC -arch arm64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/Users/ciesinsg/homebrew/etc/[email protected]\"" -DENGINESDIR="\"/Users/ciesinsg/homebrew/Cellar/[email protected]/1.1.1u/lib/engines-1.1\"" -D_REENTRANT -DNDEBUG -MMD -MF crypto/sha/sha1dgst.d.tmp -MT crypto/sha/sha1dgst.o -c -o crypto/sha/sha1dgst.o crypto/sha/sha1dgst.c
CC="clang" perl crypto/sha/asm/sha512-armv8.pl ios64 crypto/sha/sha256-armv8.S
clang -I. -Iinclude -fPIC -arch arm64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/Users/ciesinsg/homebrew/etc/[email protected]\"" -DENGINESDIR="\"/Users/ciesinsg/homebrew/Cellar/[email protected]/1.1.1u/lib/engines-1.1\"" -D_REENTRANT -DNDEBUG -MMD -MF crypto/sha/sha256.d.tmp -MT crypto/sha/sha256.o -c -o crypto/sha/sha256.o crypto/sha/sha256.c
CC="clang" perl crypto/sha/asm/sha512-armv8.pl ios64 crypto/sha/sha512-armv8.S
clang -I. -Iinclude -fPIC -arch arm64 -O3 -Wall -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/Users/ciesinsg/homebrew/etc/[email protected]\"" -DENGINESDIR="\"/Users/ciesinsg/homebrew/Cellar/[email protected]/1.1.1u/lib/engines-1.1\"" -D_REENTRANT -DNDEBUG -MMD -MF crypto/sha/sha512.d.tmp -MT crypto/sha/sha512.o -c -o crypto/sha/sha512.o crypto/sha/sha512.c
make[1]: /bin/sh: line 1: 1129 Killed: 9 mv crypto/seed/seed_ofb.d.tmp crypto/seed/seed_ofb.d
*** [crypto/sha/sha1_one.o] Killed: 9
make[1]: *** Waiting for unfinished jobs....
make[1]: error closing STDOUT: at crypto/sha/asm/sha1-armv8.pl line 364.
*** [crypto/sha/sha1dgst.o] Killed: 9
make[1]: *** [crypto/sha/sha512.o] Killed: 9
make[1]: *** [crypto/sha/sha1-armv8.S] Error 255
make[1]: *** [crypto/seed/seed_ofb.o] Error 137
make: *** [all] Error 2
Do not report this issue to Homebrew/brew or Homebrew/homebrew-core!
我运行了
curl --version
,发现似乎已安装了一个版本:
curl 7.88.1 (x86_64-apple-darwin22.0) libcurl/7.88.1 (SecureTransport) LibreSSL/3.3.6 zlib/1.2.11 nghttp2/1.51.0
Release-Date: 2023-02-20
Protocols: dict file ftp ftps gopher gophers http https imap imaps ldap ldaps mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp
Features: alt-svc AsynchDNS GSS-API HSTS HTTP2 HTTPS-proxy IPv6 Kerberos Largefile libz MultiSSL NTLM NTLM_WB SPNEGO SSL threadsafe UnixSockets
所以我不确定为什么它无法安装 freetds 或者为什么它会抛出有关 curl 的错误。有谁知道这可能是什么原因造成的吗?
Macbook Pro M2 MacOS:文图拉 13.4
我在 Homebrew 讨论门户上发布了,并获得了一些解决问题的帮助:
首先,运行
brew doctor
来查看安装是否存在任何问题。就我而言,由于我工作中的安全策略,我的 IT 团队将 Homebrew 安装在错误的位置,这导致了 brew doctor
输出:
警告:您的 Homebrew 的前缀不是 /opt/homebrew。
就我而言,当
Apple Siliconmac 应该在
/home/homebrew
中安装自制软件时,我已经在 /home/opt/homebrew
中安装了自制软件。请记住,如果您有 Intel mac,安装位置应为 /usr/local
。无论如何,根据 docs,您应该将其安装在正确的位置,以使前缀正确并避免错误。
在重新安装过程中,公司的安全策略限制了我对
/opt/
文件夹的访问,导致错误 /opt/homebrew is not writeable
。我能够通过使用 sudo chown -R $(whoami) /opt/homebrew
更改所有权来解决此问题。
这终于让我完成了安装并确保它正常工作
/opt/homebrew
。再次运行 brew doctor
会产生输出:
您的系统已准备好冲泡。
问题立即得到解决,我现在可以毫无问题地安装 PHP。
我在 macOS Catalina(版本:10.15.7)上遇到了类似的错误
==> Fetching freetds
==> Downloading https://raw.githubusercontent.com/Homebrew/homebrew-core/3b86f97c8ccb9e13d56cb9a1ac36de85037155f8/Formula/f/freetds.rb
Error: php: Failed to download resource "freetds"
Download failed: Homebrew-installed `curl` is not installed for: https://www.freetds.org/files/stable/freetds-1.4.23.tar.bz2
首先安装curl :
brew install curl
我成功安装了 PHP,没有任何错误
brew install php
最后一点。我的 Macbook Pro 2.7Mhz Core i7 16Gb 内存(2013 年初)花了 16 个多小时才安装curl 和 php!