reactjs - npm install 覆盖现有的 package-lock.json 并破坏 Modal
问题描述
我看到一个奇怪的行为package-lock.json
。一旦我删除 node_modulespackage-lock.json
然后构建它们,我的应用程序就会按预期工作。当我npm install
再次使用刚刚构建package-lock.json
的现有文件时,文件会完全改变,从树中删除大量包。当我现在运行服务器时,某些Modal
(来自react-bootstrap
)组件无法正常工作。我不明白为什么这个文件应该更改并最终安装不同版本的依赖项,这会破坏代码。我做错了什么package-lock.json
吗?
每次我同时删除 node_modules 和这个文件并构建时,我都不会遇到任何问题。只有当这个文件已经存在并且我npm install
遇到问题时。
解决方案
npm install
package-lock.json
每当你更新时创建一个新的,node_modules
即当你安装一个新的模块/包时。因此,覆盖预先存在package-lock.json
的行为是预期的行为。
至于Modal
破解可能是因为版本冲突。如果您发布“中断”错误,我们可以更好地确定导致它的原因,但这通常发生在您的包需要某个版本的另一个依赖项时。
一个可能的解决方案是删除node_modules
原始package-lock.json
文件,然后运行安装。你也可以试试npm ci
。
编辑
此链接可能有助于您更深入地了解package-lock.json
文件以及它们如何受npm install
. 本质上,一旦生成了锁定文件,它就会避免更新到较新的版本 - 直到您编辑package.json
以指定不同的版本或范围。无论您要安装什么,都应该从命令行进行。
推荐阅读
- kotlin - 让 Recycler View Items 在文本视图中显示它们的位置
- android - 运行测试时,Gradle 无法从另一个模块中找到类
- html - 在循环 gif 结束时闪烁?
- c - C - 有什么方法可以多次初始化 srand ?
- flutter - 应该为从 git 缓存的 pub 包自动生成 .packages 文件吗?
- terraform-provider-azure - 使用 Terraform 在 Azure 中为同一订阅下的所有 VM 创建警报
- python - 提取化学名称的美丽汤
- python - 合并指定字段上的元组
- kotlin - 如果我在视图寻呼机中跳过一个片段,它会暂时可见
- java - 1000 locker java问题不使用数组