已成功使用过的firebase命令突然提示command not found求助
firebase: command not found问题 我之前也碰到过一模一样的情况,给你几个亲测有效的排查和解决步骤,一步步来:
第一步:确认全局npm包的安装路径
在终端执行命令:npm get prefix这个命令会输出npm全局包的安装根路径,比如常见的
/usr/local或者/Users/你的用户名/.npm-global。firebase-cli的可执行文件就在这个路径下的bin目录里。第二步:检查路径是否在系统PATH中
接着执行:echo $PATH查看输出内容里有没有包含第一步得到的路径加上
/bin的组合(比如/Users/xxx/.npm-global/bin)。如果看不到这个路径,说明系统找不到firebase命令的位置,需要手动添加。第三步:将npm全局bin路径添加到系统PATH
根据你使用的Shell类型操作:如果你用的是Bash(终端执行
echo $SHELL输出/bin/bash):
编辑~/.bash_profile或~/.bashrc文件,添加一行:export PATH="$PATH:第一步得到的路径/bin"比如你的prefix是
/Users/xxx/.npm-global,就写export PATH="$PATH:/Users/xxx/.npm-global/bin"。
保存文件后,执行source ~/.bash_profile(或source ~/.bashrc)让改动生效。如果你用的是Zsh(终端执行
echo $SHELL输出/bin/zsh):
编辑~/.zshrc文件,同样添加上面的PATH配置行,然后执行source ~/.zshrc生效。
之后再尝试执行
firebase --version,应该就能识别命令了。第四步:检查命令文件的可执行权限
如果PATH已经包含正确路径但还是报错,可以去对应的bin目录检查firebase文件的权限:ls -l 第一步得到的路径/bin/firebase查看输出的权限列(比如
-rw-r--r--),如果没有x(可执行权限),执行下面的命令添加权限:chmod +x 第一步得到的路径/bin/firebase额外方案:避免Node环境冲突
如果你是用Homebrew安装的Node,有时候会和全局npm包的路径产生冲突。可以尝试卸载Homebrew的Node,改用nvm(Node版本管理器)重新安装Node,之后再执行npm install -g firebase-tools,这样路径问题会更易管理。
内容的提问来源于stack exchange,提问作者MikeG

