【发布时间】:2015-12-09 01:17:27
【问题描述】:
按照此处的说明进行操作:npm throws error without sudo
我继续在终端中运行以下命令(诚然我应该更加谨慎):
sudo chown -R $(whoami) ~/.npm
对这类命令不熟悉,我现在担心这可能会导致我的系统出现安全问题。
有什么我应该担心的吗?如果是这样,有什么方法可以解决它?
提前谢谢你。
【问题讨论】:
按照此处的说明进行操作:npm throws error without sudo
我继续在终端中运行以下命令(诚然我应该更加谨慎):
sudo chown -R $(whoami) ~/.npm
对这类命令不熟悉,我现在担心这可能会导致我的系统出现安全问题。
有什么我应该担心的吗?如果是这样,有什么方法可以解决它?
提前谢谢你。
【问题讨论】:
不,~/.npm 已经在您的主文件夹中,因此 ~ 字符。如果你需要 sudo 来安装 npm 模块,那么你可能有 node 和 npm install 系统范围。当您这样做时,它会将应用程序数据放入/usr/local 路径中,因为此路径位于您的$PATH 中,这意味着您的shell 会在那里查找可执行文件。它也可供所有用户阅读,因此所有用户都可以使用 node/npm。您所做的事情并没有造成安全漏洞。但是,如果您要 chown 您的 /usr/local/ 目录,则会产生一个小的安全问题。如果您只 chown node_module 全局目录,您实际上不会产生太多安全问题,但这可能意味着您应该只在您具有写入权限的用户帐户(在您的主目录中)上安装 node/npm。
NVM 对此很有用,它将 node/npm 安装到您的用户帐户,并将其安装路径添加到您的 $PATH 中的 .bashrc。我不建议在生产中使用 NVM,但是,生产完全是另一种球类游戏,您可能应该学习如何适当地创建系统服务/守护进程。
【讨论】:
~ 已经归你所有了。