【问题标题】:no packages are recognised by zshzsh 无法识别任何包
【发布时间】:2021-12-24 04:32:16
【问题描述】:

我之前安装了 npm、homebrew、oh-my-zsh 和其他运行时环境,并且在我的 Mac M1 上完美运行,直到最近,没有任何包或运行时环境被识别。

当我输入brew 时,我收到zsh: command not found: brew 的错误,但我可以在我的opt/ 路径中看到有自制文件夹及其内容,

npm 类似,它显示错误 zsh: command not found: npm

我可能对我的 PATH 做了一些事情

这是截图

编辑:我的 .bash_profile 是空的,它应该是空的吗?

【问题讨论】:

  • 我认为 brew 通常会在 /opt/local/bin 中安装软件包,而您的 $PATH 中没有这些软件包
  • 我卸载并重新安装了自制软件,但它仍然在 MacintoshHD/opt/homebrew 中。 /opt 中没有“本地”文件夹
  • 你的 mac 是 Intel 处理器还是新的 Apple 芯片? homebrew 安装目录不同(Intel -> /usr/local, M1 -> /opt/homebrew)。看起来你两者兼而有之。
  • 我有M1,路径是/opt/homebrew
  • .bash_profile 无关紧要,因为您没有使用bash

标签: bash terminal scripting command zsh


【解决方案1】:

在 M1 Mac 上,homebrew 文件默认安装在/opt/homebrew,而可执行文件通常放置或链接到/opt/homebrew/bin。该目录不在您的搜索中 PATH - 相反,您似乎拥有 Intel Mac 的 PATH 设置。

正如您所指出的,更新 PATH 应该可以解决问题,但首先您需要确定您使用的是哪个 shell(该问题同时标记为 zshbash)。它可能是 zsh,因为这是新版本 macOS 的默认设置,它可以解释为什么 .bash_profile 为空。您可以使用命令echo $0 仔细检查。

有几种方法可以更新路径,许多在 SO 的其他帖子中都有描述,例如 this one。这也适用于zsh

print 'PATH=$PATH:/opt/homebrew/bin' >> ~/.zshrc

【讨论】:

  • 在进行一些故障排除时,我可能不小心在 Mac Intel 的堆栈溢出上使用了一些代码,我可以做些什么来修复 M1 Mac 的 PATH 设置,不仅是为了自制软件,而且是为了进一步下载?
  • 在 PATH 中包含 /opt/homebrew/bin 应该涵盖 brew 命令和大多数以这种方式安装的软件包。对于其他下载,您需要遵循他们的建议。当然,备份(例如通过 Time Machine)总是有助于在出现问题时恢复到已知的工作状态。
猜你喜欢
  • 2012-12-26
  • 1970-01-01
  • 1970-01-01
  • 2021-06-24
  • 2015-06-28
  • 2023-03-10
  • 1970-01-01
  • 2020-05-12
  • 1970-01-01
相关资源
最近更新 更多