情景
sudo npm i -g typescript
或者sudo npm i -g nrm
执行tsc -v
或者nrm ls
会出现以下报错:
command not found: tsc
或者command not found: nrm
- 其实就是npm默认路径错误而已
解决办法
npm官方解决方案
为了最大程度地减少权限错误的可能性,您可以将npm配置为使用其他目录。在此示例中,您将在主目录中创建并使用隐藏目录。
备份您的计算机。
打开终端,切换到根目录
open .npmrc
查看是否是prefix=/usr/local
,如果不是请修改
在命令行的主目录中,创建用于全局安装的目录:
mkdir ~/.npm-global
配置npm以使用新的目录路径:
npm config set prefix '~/.npm-global'
在您喜欢的文本编辑器中,打开或创建一个~/.profile文件并添加以下行:
export PATH=~/.npm-global/bin:$PATH
在命令行上,更新系统变量:
source ~/.profile
可以使用相应的ENV变量代替步骤2-4(例如,如果您不想修改~/.profile):
NPM_CONFIG_PREFIX=~/.npm-global
ps:依次卸载node.js和npm
卸载node
依次在终端执行下面的脚本
sudo npm uninstall npm -g
sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*
sudo rm -rf /usr/local/include/node /Users/$USER/.npm
sudo rm /usr/local/bin/node
sudo rm /usr/local/share/man/man1/node.1
sudo rm /usr/local/lib/dtrace/node.d
最后验证一下
node //command not found
npm //command not found
卸载完了重新下载个node.js安装就好了