Tag: package lock.json

为什么不“npm install”重写package-lock.json? 如果不存在也不会生成新的?

我希望在package.json中添加新的依赖关系并运行npm install之后,在package-lock.json文件中看到更改 – 但是package-lock.json没有更改。 设置:节点版本6.11.0 npm版本3.10.10我试图删除旧的package-lock.json,运行后npm install – 没有生成新文件。 任何人都可以请告诉我如何续订package-lock.json? 编辑:偶尔我和我的同事有不同的npm版本,所以我有代码库中的包lock.json,但无法续订,因为我目前的npm版本不支持此function。 更新后,所有工作正常。

npm 5忽略包锁

我想升级到npm 5并locking文件。 现在我有这个package.json: { "name": "typescript-test", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "build": "./node_modules/gulp/bin/gulp.js build", "apidoc": "./node_modules/gulp/bin/gulp.js apidoc", "watchApi": "BLUEBIRD_DEBUG=1 ./node_modules/gulp/bin/gulp.js watchApi", "watchMqtt": "./node_modules/gulp/bin/gulp.js watchMqtt", "test-debug": "NODE_ENV=test ./node_modules/mocha/bin/mocha –no-timeouts –debug-brk release/js/api/test/e2e/**/*.js", "test": "___BLUEBIRD_DEBUG=1 ./node_modules/gulp/bin/gulp.js test", "migrate": "./node_modules/sequelize-cli/bin/sequelize db:migrate", "migrate:undo": "./node_modules/sequelize-cli/bin/sequelize db:migrate:undo" }, "author": "", "license": "ISC", "dependencies": { "@types/bcrypt": "0.0.30", "@types/bluebird": "^3.0.35", "@types/body-parser": […]

当我在不同的系统上运行`npm install`时,为什么我会得到大不相同的`package-lock.json`文件

使用相同的git仓库,如果我删除node_modules和package-lock.json ,我的期望是运行npm install应该每次生成相同的package-lock.json文件(提供或者发送一些可能被发布者更新的模块在过渡期。 我发现我得到了截然不同的文件,这取决于我在OSX机器上还是在Linux机器上执行此操作。 这是预期的吗? 如果是这样,那么提交package-lock.json文件会有什么价值,因为它在这些系统之一上是无效的。 如果不是,这里可能会发生什么?

package-lock.json是否也应该发布?

npm 5引入了package-lock.json ,其中的文档就在这里 。 它声明,该文件旨在包含在版本控制中,所以克隆你的软件包并安装它的任何人都将拥有相同的依赖版本。 换句话说,你不应该把它添加到你的.gitignore文件中。 它没有声明的是否文件是打算包含在已发布的软件包中。 这个问题可以改写为: package-lock.json应该包含在.npmignore中吗?

package-lock.json中的“require:true”是做什么的

我们的团队刚刚更新到npm @ 5。 package-lock.json在Windows和Mac之间是统一的(某些依赖是可选的,所以它们不能在Windows上安装,但是在Mac上),所以无论机器如何,我们都会生成相同的node_modules结构。 那很好,然后每个队员都经过了以下步骤: rm -rf node_modules git pull npm install 对于所有团队成员来说,这实际上是完美的,除了一个,在npm install之后修改了package-lock.json 。 修改后的一行是删除"requires": true 。 所以我看到: { … "version": "0.0.1", "lockfileVersion": 1, "requires": true, "dependencies": { … } 但他看到: { … "version": "0.0.1", "lockfileVersion": 1, "dependencies": { … } 有人知道为什么requires: true可能会从一些机器上的package-lock.json文件中删除,而不是其他人? 另外,这个属性的一个小解释不会伤害。 🙂 提前致谢!