【问题标题】:sudo: npm: command not found in WSLsudo:npm:在 WSL 中找不到命令
【发布时间】:2019-01-03 07:14:51
【问题描述】:

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

问题在于在全局 npm 安装之前使用 sudo 命令:

sudo npm install --global prompt-pure

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

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

如何解决这个烦人的问题并保留nvm

提前致谢

【问题讨论】:

  • 将当前用户添加到 sudoers。

标签: node.js sudo windows-subsystem-for-linux oh-my-zsh nvm


【解决方案1】:

对我来说,在将节点安装为root 之前,我实际上需要作弊并以root 运行。为此,我在 Ubuntu WSL 术语中运行了 sudo su,然后安装了节点。

一旦我这样做了,我可以sudo su 然后npm run special-script

我不知道有什么更好的方法可以让脚本附加到 443 等受限端口以测试 https 连接,但它可以工作。

【讨论】:

  • 谢谢!。适合我安装无服务器:sudo suapt install npmnpm i -g serverless 下一个 exit sudo 用户并使用 serverless -v 确认安装。
【解决方案2】:

正如您在 sudo man sudo 的 man 文件中所见,sudo 将以另一个用户身份执行命令。该其他用户与您具有不同的主目录并可以访问不同的命令

当我运行 sudo which node 时,我什么也得不到,但 which node 返回 /home/damo/.nvm/versions/node/v8.11.1/bin/node

让我们看看你的实际目标。您说您正在尝试安装纯提示符,我知道这不会问您明确的问题,但是鉴于您已安装 zsh,您是否尝试过 oh-my-zsh (https://github.com/robbyrussell/oh-my-zsh) 我在每次安装 linux 时都使用它与(VM、WSL、docker)一起工作。非常可定制,开箱即用看起来很棒。

【讨论】:

    猜你喜欢
    • 2015-10-06
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-21
    • 2020-11-19
    • 2022-06-23
    • 2022-08-22
    相关资源
    最近更新 更多