sudo npm rebuild
如果sudo node
Node.js 是由 NVM 安装的,它是如何执行的?
每次我键入sudo
命令时,我的控制台都会尝试在or中执行npm
或node
编程,但两者都不存在。/usr/bin/
/usr/lib
尝试在/usr/bin
or中创建符号链接/usr/lib
。不是一个强有力的解决方案,但可能就足够了。
sudo ln -s /home/denny/.nvm/versions/node/v0.12.0/bin/npm /usr/bin/npm
sudo
用于写入系统位置。这里的建议可能有用,尤其是rvmsudo或group access。
根据评论,您可以尝试在以下位置创建一个 bash 脚本/home/denny/npm.sh
:
#!/bin/bash
PTH="/home/denny/.nvm/versions/node/$(node -v)/bin/npm"
$PTH
chmode+x
正确并使用以下命令创建符号链接:
sudo ln -s /home/denny/npm.sh /usr/bin/npm
应始终检查node -v
并npm
从正确的目录运行。
我需要这样做才能运行 Atom 安装脚本,但我不想永久更改我的机器设置。所以我做了:
sudo bash
然后我在用户的主目录树中获取了 nvm.sh 文件:
source /home/ada-lovelace/.nvm/nvm.sh
这让我可以使用 root 运行必要的命令。当然,这意味着下次我需要在与 root 的会话中运行 node 时,我将不得不再次执行这些步骤,但我预计在不久的将来不需要这样做。