修改 formula 文件,将
--prefix=#{prefix}
修改为
--prefix=/Application/xxx/php
尝试将 php@5.6 安装到这个目录,然后执行命令:
brew install --formula -s /xxx/homebrew-php/Formula/php@5.6.rb
make instll 环节报错:
将 formula 中的
system "make", "install"
修改为
system "sudo make install"
无效。
将目录 chown -R ${whoami} /xxx/ 无效
重新安装 homebrew,无效
在 macOS 上使用 Homebrew 编译安装软件时遇到 "No such file or directory"
和 "Operation not permitted"
错误通常与权限、目录不存在或 Homebrew 的配置有关。针对你提到的情况,有几个可能的解决方案和考虑因素:
检查目录是否存在:
确保 /xxx/homebrew-php/Formula/php@5.6.rb
路径中的目录和文件确实存在。你可以使用 ls
命令来检查目录和文件:
ls -l /xxx/homebrew-php/Formula/php@5.6.rb
如果文件不存在,你需要找到正确的文件路径。
Homebrew 的 Tap 管理:
通常不建议直接指定 .rb
文件来安装,因为这绕过了 Homebrew 的 tap 管理机制。如果你正在尝试安装一个非官方的 PHP 版本,考虑先添加相应的 tap:
brew tap <用户名>/homebrew-php
然后直接使用:
brew install php@5.6
权限问题:
/usr/local
),并且不需要 sudo 来安装大多数包。system "make", "install"
为 system "sudo make install"
可能不会生效,因为 Homebrew 会尝试以特定的用户身份运行命令,而不是直接通过 sudo。此外,直接在 Homebrew formula 中使用 sudo 可能会破坏 Homebrew 的沙箱环境,导致不可预测的行为。清理和重新安装 Homebrew:
如果以上步骤都无法解决问题,考虑清理 Homebrew 的缓存并重新安装:
brew cleanup
brew uninstall php@5.6
brew tap <用户名>/homebrew-php # 如果之前未添加 tap
brew install php@5.6
如果以上方法都不能解决你的问题,可能需要更详细地检查你的系统配置或考虑其他安装方式。
问题内容: 运行时是否可以指定目标目录? 问题答案: 您可以使用以下选项: 软件包将安装在中。之所以需要,是因为npm否则可能会选择层次结构中更高层次的已存在目录。(请参阅文件夹上的npm文档。)
如题 编译php-7.4.30 在编译的时候使用命令 提示不支持 求解如何设置
我刚刚升级到优胜美地。我使用的是Apache 2.2,但升级包括2.4。在经历了一些配置噩梦之后,我最终使用Homebrew重新安装了2.4。我有它大部分配置。但是,当我使用PHP的旧httpd.conf设置时,我得到以下错误: 未找到符号:_unixd_config\n引用自:/usr/local/opt/php55/libexec/apache2/libphp5。因此\n应在:/usr/loc
pc linux依赖环境 ~$ sudo dpkg --add-architecture i386 ~$ sudo apt-get update ~$ sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 libx11-6:i386 gtk2-engines:i386 lib32ncurses5 lib32z1 libxt
pc linux依赖环境 ~$ sudo dpkg --add-architecture i386 ~$ sudo apt-get update ~$ sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 libx11-6:i386 gtk2-engines:i386 lib32ncurses5 lib32z1 libxt