我正在尝试使用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
?
多谢
答案 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连接,但是它可以工作。