如何在 Fedora 上将 npm 更新到最新版本

如何在 Fedora 上将 npm 更新到最新版本

我尝试运行这个:

sudo npm install npm@latest -g

去测试npm audit,但是这个命令失败了,我收到错误:

npm ERR! path /usr/lib/node_modules/npm/node_modules/fs-write-stream-atomic
npm ERR! code EEXIST
npm ERR! errno -17
npm ERR! syscall mkdir
npm ERR! EEXIST: file already exists, mkdir '/usr/lib/node_modules/npm/node_modules/fs-write-stream-atomic'
npm ERR! File exists: /usr/lib/node_modules/npm/node_modules/fs-write-stream-atomic
npm ERR! Move it away, and try again.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2018-06-04T16_50_00_242Z-debug.log

要恢复状态,我需要使用 dnf 安装 npm (我需要删除npmthen/usr/lib/node_modules并再次安装 npm)。

如果我移动文件(它是符号链接),则会出现错误:

npm ERR! code MODULE_NOT_FOUND
npm ERR! Cannot find module 'fs-write-stream-atomic'

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2018-06-04T18_09_09_479Z-debug.log

如何在 Fedora 上安装 npm 6?

答案1

我最终使用了非易失性

安装后使用

nvm install node
nvm use node

我有版本 Node v10.4.0 和 npm v6.1.0。

答案2

另外,您可能需要考虑asdf。它基于插件系统并安装 - 某种程度。

[gorre@uplink ~]$ asdf plugin-add nodejs
[gorre@uplink ~]$ bash ~/.asdf/plugins/nodejs/bin/import-release-team-keyring
[gorre@uplink ~]$ asdf install nodejs <version_here>
[gorre@uplink ~]$ asdf global nodejs <version_here>

笔记:所有这些,前提是您asdf之前安装过。

local您可以安装不同的版本,并通过在您想要的特定目录中指定来引用它们。基本原理是它将创建.tool-versions引用该版本的文件,覆盖其他设置。

这里的好处是asdf不仅支持 Node.js,还支持许多其他语言/平台/工具包,并且在某种程度上保持了nvm.

相关内容