【发布时间】:2020-06-29 03:41:05
【问题描述】:
我已经下载/安装了一个 node_module(npm 包)... 我在 node_modules 文件夹中使用了内部文件以满足我的需要。 将它用作 node_module 对我来说是最方便的,但我担心下次更新 npm 包时它可能会更新并删除我所做的所有更改。 确保不更新特定软件包的最佳方法是什么?
非常感谢
【问题讨论】:
标签: javascript npm node-modules npm-install
我已经下载/安装了一个 node_module(npm 包)... 我在 node_modules 文件夹中使用了内部文件以满足我的需要。 将它用作 node_module 对我来说是最方便的,但我担心下次更新 npm 包时它可能会更新并删除我所做的所有更改。 确保不更新特定软件包的最佳方法是什么?
非常感谢
【问题讨论】:
标签: javascript npm node-modules npm-install
在 package.json 文件中指定该包的版本。 比如你在dependencies或者devDependencies中手动添加了3.0.0版本的express,将express的入口改成:
"express":"3.0.0"
【讨论】:
您可以将自己/修改过的包存储在本地(例如,在项目外部的公共位置)或云端(例如 GitHub),然后分别通过文件路径或存储库 URL 引用包。
在这里查看:
【讨论】:
package.json 中手动删除自定义包的名称,那么您的package-lock.json 将与package.json 不同步,因此您必须运行@987654329 @ 或 yarn 再次,您的自定义包将从 node_modules 文件夹中消失。但是在原来的源文件夹中,你的包当然还是存在的。
package-lock.json 在npm version 5.x.x 中引入。默认情况下package-lock.json 是自动创建的,除非您明确地disable it。一旦您从package.json 手动删除它,该包确实应该从node_modules 中消失。看起来它取决于 npm 版本。你有哪个 npm 版本?