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

时间:2018-07-26 10:08:53

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

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

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

sudo npm install --global prompt-pure

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

WSL sudo node npm command not found

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

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

多谢

2 个答案:

答案 0 :(得分:0)

您会在sudo ArrayBuffer的man文件中找到sudo将以另一个用户的身份执行命令。该其他用户与您拥有不同的主目录,并可以访问不同的命令

我在运行scala> import scala.collection.mutable.ArrayBuffer // import scala.collection.mutable.ArrayBuffer scala> case class A(s: String, l: ArrayBuffer[Int]) // defined class A scala> val a1 = A("well", ArrayBuffer(1, 2, 3, 4)) // a1: A = A(well,ArrayBuffer(1, 2, 3, 4)) scala> val a2 = a1.copy() // a2: A = A(well,ArrayBuffer(1, 2, 3, 4)) // Lets modify the `value` pointed by `a1.l` by removing the element at index 1 scala> a1.l.remove(1) // res0: Int = 2 // You will see the impact in both a1 and a2. scala> a1 // res1: A = A(well,ArrayBuffer(1, 3, 4)) scala> a2 //res2: A = A(well,ArrayBuffer(1, 3, 4)) 时一无所获,但是man sudo返回/home/damo/.nvm/versions/node/v8.11.1/bin/node

让我们看看您的实际目标。您说您正在尝试安装纯提示,我知道这不会问您的明确问题,但是鉴于您已经安装了zsh,您是否尝试过oh-my-zsh(https://github.com/robbyrussell/oh-my-zsh),所以我在每次安装linux时都使用了它曾经必须使用(VM,WSL,泊坞窗)。非常可定制,开箱即用。

答案 1 :(得分:0)

对我来说,在将节点安装为root之前,我需要先作弊并以root身份运行。为此,我使用Ubuntu WSL术语运行了sudo su,然后安装了节点。

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

我不知道有一种更好的方法来获取脚本以将其附加到诸如443之类的受限端口上以测试https连接,但是它可以工作。