yarn全局安装@graphprotocol/graph-cli后graph命令找不到如何解决
问题根因
Yarn全局安装的npm包生成的可执行文件所在目录,没有被加入系统的PATH环境变量,系统检索命令时扫不到graph二进制文件,才会返回系统源里同名的plotutils包安装提示。
排查步骤
- 执行命令查看Yarn全局二进制文件的实际存放路径:
常见输出路径为yarn global bin~/.yarn/bin、~/.config/yarn/global/node_modules/.bin,具体路径随Yarn版本(v1经典版/v2+ Berry版)、系统环境不同有差异。 - 执行命令查看当前系统
PATH变量包含的目录:
如果第一步输出的Yarn全局bin路径不在返回结果里,即可确认是路径未配置导致的问题。echo $PATH
修复方案
临时生效(终端重启后失效)
直接执行以下命令把Yarn全局bin路径临时加入当前会话的PATH:
export PATH="$(yarn global bin):$PATH"
执行完成后立刻运行graph --version即可正常返回版本信息,仅对当前终端窗口有效。
永久生效
根据你当前使用的shell,把路径配置写入对应的shell配置文件即可:
- 若使用Bash(Ubuntu、Debian等多数Linux发行版默认shell):
echo 'export PATH="$(yarn global bin):$PATH"' >> ~/.bashrc source ~/.bashrc - 若使用Zsh(macOS默认、常用自定义shell):
echo 'export PATH="$(yarn global bin):$PATH"' >> ~/.zshrc source ~/.zshrc - 若使用Fish Shell:
该命令会直接写入Fish的全局用户配置,无需额外执行生效操作。set -Ux PATH (yarn global bin) $PATH
注意事项
- 不要按照系统提示执行
sudo apt install plotutils,该包提供的graph命令是系统自带的绘图工具,和你安装的@graphprotocol/graph-cli完全无关,装了也无法使用对应的CLI功能。 - 如果你使用nvm、n等Node版本管理工具,需要在你日常使用的Node版本环境下执行上述配置,避免全局包安装到其他版本目录下,切换Node版本后再次出现命令找不到的问题。
- 配置完成后可以新开一个终端窗口,再次执行
graph --version验证,返回0.31.0即为修复成功。
内容的提问来源于stack exchange,提问作者PsuedoMaverick
相关产品推荐
相关产品推荐

