gra*_*bag 14 mysql npm npm-install
我第一次"npm install"package_1,我收到以下错误.
npm ERR! path C:\Users\john_\Documents\GitHub\why_npm_nesting_fails\package_1\node_modules\.staging\bignumber.js-55edd243
Run Code Online (Sandbox Code Playgroud)
我不使用"bignumber",所以假设它是一个mysql依赖.第二次我"npm install"package_1,它通过了.
added 2 packages and audited 30 packages in 0.722s
Run Code Online (Sandbox Code Playgroud)
它与mysql有关,因为在删除此依赖项之后,一切都在第一次运行.
以下是依赖关系图:
精简项目可以在https://github.com/johngrabner/why_npm_nesting_fails找到, 只有4个package.json文件,每个包含7行,包括{}演示了这个问题.即:4个文件,每行1行,演示此问题.
由于第一次"npm安装"失败,这个问题阻止我将我的项目干净地放入docker容器.安装"package_4",然后安装"package_3"等等的解决方法有效,但我担心我不理解会回来咬我的东西.
Windows和Docker节点上都会出现上述问题:9.4.
您绝对应该始终保留您的package-lock.json.
以下是对该文件的详细描述以及它为何如此有用:package-lock.json - 清单的表现形式
重点是:
- 描述依赖关系树的单一表示,以便保证团队成员、部署和持续集成安装完全相同的依赖关系
和
- 通过允许 npm 跳过先前安装的软件包的重复元数据解析来优化安装过程
通过删除这个文件,你将会(有点)迷惑 NPM。
保留package-lock.json文件会更容易,然后处理如果不保留文件就会出现的所有问题:)
包锁.json
“此文件旨在提交到源存储库中”
(https://docs.npmjs.com/files/package-lock.json)
| 归档时间: |
|
| 查看次数: |
514 次 |
| 最近记录: |