'npm install'和'npm rebuild'之间有什么区别?

Pus*_*mar 23 node.js npm

我将节点版本从v7.1.0升级到v9.4.0.在此之后,我试图运行我的服务器,然后我得到了这个.

was compiled against a different Node.js version using
NODE_MODULE_VERSION 51. This version of Node.js requires
NODE_MODULE_VERSION 59. Please try re-compiling or re-installing
the module (for instance, using `npm rebuild` or `npm install`).
Run Code Online (Sandbox Code Playgroud)

然后我知道npm rebuild.我运行命令npm rebuildnpm install.它在运行后修复 npm rebuild但我不明白它的作用.请解释一下npm rebuild

谢谢

Gau*_*wal 29

npm install:显然npm install用于使用该package.json文件安装软件包,此命令还会安装软件包(in package.json)所依赖的其他软件包.在背面,此命令使用npm build有助于构建要安装的软件包的命令.

npm rebuild:作为名称rebuild,此命令再次构建包,仅在升级节点版本时使用,并且必须使用新二进制文件重新编译所有C++插件.

  • 但是请注意,如果可选依赖项无法构建,`npm install` 会成功,但 `npm rebuild` 在第一次失败后会停止。让其余的包不被重建。这种可选依赖的一个例子是 `ripe@0.2.1`,它最终依赖于 `utf-8-validate@1.2.2`。后者无法在我的机器上构建。但无论如何,这是一个可选的依赖项,所以 `npm i` 成功了。 (3认同)