sudo: npm: 在 WSL 中找不到命令

jmp*_*mpp 4 sudo node.js nvm oh-my-zsh windows-subsystem-for-linux

我正在尝试使用 WSL 在 Windows 上为我的 Unix 环境全局安装一些软件包。我用来nvm管理不同版本的 Node.js。

问题是sudo在全局 npm install 之前使用命令时:

sudo npm install --global prompt-pure

我收到错误:sudo: npm: command not found

找不到 WSL sudo 节点 npm 命令

做一个简单的npm install --global pure-prompt操作就可以了,但由于我不是超级用户,全局安装最终会出现权限错误。

我怎样才能解决这个恼人的问题并保留nvm

提前致谢

use*_*984 7

当您尝试运行时sudo npm,它会尝试运行 npm 二进制文件/usr/bin/npm,但您的二进制文件位于不同的位置,可以发现正在运行which npm

示例:/home/damo/.nvm/versions/node/v8.11.1/bin/npm

解决方案是创建一个/usr/bin/指向实际二进制文件的链接:

sudo ln -s "$(which npm)" /usr/bin/npm

您还可以添加以下链接,以便您可以运行sudo node

sudo ln -s "$(which node)" /usr/bin/node