以下是我的 "devDependencies": {
"ajv": "^6.0.0",
"webpack": "^4.0.0",
"websocket": "^1.0.0",
"bignumber.js": "^7.0.0",
"decimal.js": "^10.0.0",
"truffle": "4.1.11",
"ganache-cli": "6.1.0",
"solidity-coverage": "0.5.4",
"ethereumjs-testrpc-sc": "6.1.2",
"web3": "1.0.0-beta.34"
}
文件的相关部分:
npm install
我在同一台PC上有两个不同的存储库。
当我同时在每个存储库中运行package-lock.json
时,我会在每个存储库中获得一个不同的package-lock.json
文件。
怎么会这样?
这是一条可能的线索:
如果我事先删除npm install
文件,则npm install
将中止并显示错误。
因此,我的问题的答案可能与package-lock.json
依赖于已存在的package-lock.json
文件的事实有关。
最初,我在这些存储库中有不同的package.json
个文件,因为相应的package.json
文件不同。
现在我已将其中一个存储库中的package-lock.json
文件更改为与另一个存储库相同,我希望相应的function(datamap) {
d3.select('.datamap').call(
d3
.zoom()
.scaleExtent([0.7, 6])
.on('zoom', function() {
datamap.svg.selectAll('g').attr('transform', d3.event.transform);
})
);
}
文件也会相同。
答案 0 :(得分:1)
"从概念上讲,"输入"到npm-install是一个package.json,而它的"输出"是一个完整格式的node_modules树:您声明的依赖关系的表示。在理想的世界中,npm将像纯函数一样工作:同一个package.json应该随时生成完全相同的node_modules树。在某些情况下,确实如此。但在许多其他人中,npm无法做到这一点。这有多种原因:
package-lock文件将确保没有因为包版本略有不同而中断,在同一台机器上同时运行npm install并不能保证获得所有依赖项的相同版本。
另一点可以阐明包文件与包锁文件的不同之处。两个相同的package.json文件不保证相同的node_modules文件夹结构。但是两个相同的package-lock文件将保证完全相同的node_modules文件结构。