【问题标题】:How do I install Node and NPM so I don't have to use sudo?如何安装 Node 和 NPM,这样我就不必使用 sudo?
【发布时间】:2016-07-07 02:56:18
【问题描述】:

我正在尝试在 Ubuntu 14.04 机器上设置 Node.js 和 NPM,但遇到了一些问题。在我第一次尝试安装软件包时,我不断收到EACCES 错误(有时甚至使用sudo),所以我完全卸载了node 和npm。现在我想弄清楚如何以一种不需要我运行所有sudo 并且不会给我EACCES 错误的方式安装它们。

我宁愿不使用 NVM,除此之外,我刚刚找到了一堆零散的部分答案,其中一些相互矛盾,或者只是使用了稍微不同的语法。

非常感谢您对此的帮助。我刚刚从 Windows 切换到 Linux,并正在尝试进行设置,以便可以重新开始工作。

【问题讨论】:

    标签: linux node.js ubuntu npm ubuntu-14.04


    【解决方案1】:

    引发 EACCES 的问题通常是两个文件夹的权限问题:

    您的 ~/.npm 目录可能存在权限问题。

    “~/.npm”目录的完整路径是“/Users/YOUR_USERNAME/.npm”;它存储各种 npm 功能。在基于 unix 的系统(我相信在 linux 上也是如此)上进入主目录的最简单方法是键入“cd”。

    您的 /usr/local/lib/node_modules 也可能存在权限问题。

    这是 npm 尝试存储全局安装模块的地方。它是“node_modules”文件夹的系统级版本,基本上可以在您创建和安装的任何 node.js 项目中找到。

    我实际上制作了一个节点包,可以在 mac 上解决这个问题,虽然我不确定 Linux(因为 '.npm' 和 'node_modules' 的路径在 linux 上可能不同),你可以给它一枪?它基本上重申您是这些目录的所有者。

    这里是github页面:

    https://github.com/yvanscher/fixmynode(请注意,此软件包可能已过期,因为 osenv 依赖项存在奇怪的构建问题)

    如果您重新安装节点,您可以尝试使用这些命令自己更改权限(应该在 Linux 中工作):

    sudo chown -R $(whoami) ~/.npm

    sudo chown -R $(whoami) /usr/local/lib/node_modules

    注意:我不能 100% 确定路径“/usr/local/lib/node_modules”和“~/.npm”对于基于 Linux 的 Node/npm 安装是否正确。您可以发布您在终端中收到的完整错误消息吗?

    【讨论】:

    • 谢谢,我最终不得不在/usr/local/lib/node_modules~/.npm/usr/lib/node_modules 上运行chown。对于任何全局操作,我仍然必须使用sudo,这很好,但除此之外,一切似乎都运行顺利。
    • /usr/local/lib/node_modules 在 Manjaro 上对我来说不存在。但是/usr/lib/node_modules 可以。虽然,在chowning 目录之后,我仍然需要在全局安装包时提供 sudo 访问权限。
    猜你喜欢
    • 2019-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-22
    • 1970-01-01
    • 1970-01-01
    • 2019-01-27
    • 2012-03-22
    相关资源
    最近更新 更多