如果NVM安装了Node.js,如何执行sudo npm rebuild
或sudo node
之类的操作?
每次输入sudo
命令时,我的控制台都会尝试在npm
或node
中执行/usr/bin/
或/usr/lib
程序,但两者都不存在。
答案 0 :(得分:0)
尝试在/usr/bin
或/usr/lib
中创建符号链接。不是一个强有力的解决方案,但可能就足够了。
sudo ln -s /home/denny/.nvm/versions/node/v0.12.0/bin/npm /usr/bin/npm
sudo
用于在系统位置写入。建议here可能会有用,尤其是rvmsudo或group access。
根据评论,您可以尝试在/home/denny/npm.sh
创建一个bash脚本:
#!/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
。
答案 1 :(得分:0)
我需要这样做来运行Atom安装脚本,但我不想永久更改我的机器设置。所以,我做了:
sudo bash
然后我在用户的主目录树中找到了nvm.sh文件:
source /home/ada-lovelace/.nvm/nvm.sh
这让我用root运行必要的命令。当然,这意味着下次我需要在root会话中运行节点时我必须再次执行这些步骤,但我不希望在不久的将来需要这样做。