将SUDO与NVM配合使用?

时间:2015-03-12 03:22:34

标签: node.js npm nvm

如果NVM安装了Node.js,如何执行sudo npm rebuildsudo node之类的操作?

每次输入sudo命令时,我的控制台都会尝试在npmnode中执行/usr/bin//usr/lib程序,但两者都不存在。 enter image description here

2 个答案:

答案 0 :(得分:0)

尝试在/usr/bin/usr/lib中创建符号链接。不是一个强有力的解决方案,但可能就足够了。

sudo ln -s /home/denny/.nvm/versions/node/v0.12.0/bin/npm /usr/bin/npm

sudo用于在系统位置写入。建议here可能会有用,尤其是rvmsudogroup 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会话中运行节点时我必须再次执行这些步骤,但我不希望在不久的将来需要这样做。