"sudo npm install -g npm"据说是一个坏主意,但没有"sudo"就不起作用



我一直在努力更新node/npm包或npm本身。

我有一台Ubuntu机器,我在那里安装了一个全局npm,我想更新它。

npm install -g npm会导致各种"/usr/local/lib"访问权限被拒绝错误。

我可以使用sudo,但我默认用户帐户主目录中的~/.npm目录归root所有,而不是我所有。我认为这会在安装或更新软件包时带来麻烦,而且总体来说似乎是个坏主意。我以自己的身份使用和运行npm,而不是以root用户的身份。

经过搜索,我找到了几个半生不熟的解决方案,但我有一个强烈的印象,我做错了什么。或者我只是误解了眼前的问题。我很难相信像npm这样一个长期且广泛使用的项目会有这样的基本缺点?

在常规linux环境中全局安装npm最正确、最简单的方法是什么?

不要使用Ubuntu的节点和npm版本。

Ubuntu的存储库将您锁定在node的一个版本中,这也限制了您可用的npm版本。

可以使用像nvm或n这样的节点管理器。它们允许用一个命令更改节点版本。

甚至是码头集装箱。使用Dockerfile,您可以创建模仿生产环境的环境(或者,如果您将应用程序部署为docker容器,则基本上与生产环境相同(。

最新更新