根本原因是PATH未包含Yarn可执行路径或PowerShell策略限制;需先验证npm list -g yarn是否成功,再通过npm config get prefix或yarn bin获取真实bin路径,最后写入~/.zshrc并source生效。

Mac上执行npm install -g yarn后,终端仍提示“yarn: command not found”,根本原因是系统PATH未包含Yarn可执行文件所在路径,或PowerShell/zsh执行策略阻止脚本运行,必须手动补全环境变量或绕过策略限制才能调用命令。
确认Yarn是否真已安装
在终端中运行npm list -g yarn,若返回类似/usr/local/lib/node_modules/yarn的路径,说明全局安装成功;若报empty或not found,请先执行sudo npm install -g yarn重装——注意:不要跳过这步直接配PATH,否则后续所有操作都无效。
查出Yarn真正的bin路径
运行npm config get prefix获取npm全局前缀(如/usr/local),再拼接/bin/yarn,完整路径通常是/usr/local/bin/yarn。但若你用nvm管理Node版本,该路径会随Node切换而变化,此时必须改用yarn bin命令——它会动态输出当前Node环境下Yarn可执行文件的真实位置,例如/Users/yourname/.nvm/versions/node/v16.20.2/bin/yarn。
将bin路径写入shell配置文件
第一步:确认你当前用的是zsh还是bash。运行echo $SHELL,若返回/bin/zsh,则编辑~/.zshrc;若为/bin/bash,则编辑~/.bash_profile。
第二步:用文本编辑器打开对应文件,末尾追加一行:export PATH="【上面查到的完整bin路径】:$PATH"。例如:export PATH="/Users/yourname/.nvm/versions/node/v16.20.2/bin:$PATH"。
第三步:保存文件,在终端中运行source ~/.zshrc(或source ~/.bash_profile)使配置立即生效。
【关键前提】必须确保这一行写在export PATH语句之前,否则新路径会被旧PATH覆盖,导致依然找不到yarn。
绕过PowerShell脚本执行限制(仅VS Code终端常见)
方法一:在VS Code终端里输入yarn.cmd代替yarn,Windows用户有效;Mac用户跳过此方法。
方法二:若你在VS Code中使用PowerShell终端并看到无法加载文件 ... yarn.ps1,因为在此系统上禁止运行脚本,请关闭该终端,点击VS Code左下角齿轮图标→「Command Palette」→输入「Terminal: Select Default Profile」→选择「Command Prompt」或「zsh」而非「PowerShell」。
方法三:临时解除PowerShell策略(仅限信任环境):以管理员身份打开终端,运行pwsh -Command "Set-ExecutionPolicy RemoteSigned -Scope CurrentUser",然后重启VS Code。











