atd*_*ago 9 node.js npm npm-install package-lock.json
我们的团队刚刚更新到npm @ 5.将package-lock.json在Windows和Mac(某些依赖关系是可选的,所以它们不会安装在Windows,但他们在Mac上),因此,无论机器,我们会产生同node_modules结构之间的统一.那很好,然后每个团队成员都经历了以下步骤:
rm -rf node_modulesgit pullnpm install对于所有团队成员来说,这实际上是完美的,除了一个package-lock.json在之后进行了修改的团队成员npm install.修改后的一条线就是删除了"requires": true.
所以我看到:
{
...
"version": "0.0.1",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
...
}
Run Code Online (Sandbox Code Playgroud)
但他看到:
{
...
"version": "0.0.1",
"lockfileVersion": 1,
"dependencies": {
...
}
Run Code Online (Sandbox Code Playgroud)
有人知道为什么requires: true可能会从package-lock.json某些机器上的文件中删除,而不是其他机器上的文件?此外,对这个属性做什么的一点解释也不会有害.:)
提前致谢!
正如我在评论中所怀疑的那样,该requires字段已被添加5.1.0.你可以在这里看到相关的拉取请求https://github.com/npm/npm/pull/17508(在这里可以看到更改日志https://github.com/npm/npm/releases/tag/v5.1.0)
引用它的内容:
这有一些修复:
- 它引入了一个名为requires的新的package-lock.json字段,它跟踪给定模块所需的模块.
- .....
为了避免这种冲突,我建议你(以及我自己)确保你的所有队友使用相同的npm版本.
UPDATE
升级npm到版本后5.1.0,我遇到了缺少依赖项的问题(处理Angular 4应用程序).如果有人遇到同样的问题,这就是我要解决的问题:
rm -rf node_modules
npm prune
npm install
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你.
| 归档时间: |
|
| 查看次数: |
3128 次 |
| 最近记录: |