我从另一个项目中复制了package.json,现在想要将所有依赖项都添加到它们的最新版本,因为这是一个新项目,如果它破坏了我不介意修复它.
最简单的方法是什么?
我现在知道的最好的方法是运行npm info express version然后为每个人手动更新package.json.肯定有更好的办法.
{
"name": "myproject",
"description": "my node project",
"version": "1.0.0",
"engines": {
"node": "0.8.4",
"npm": "1.1.65"
},
"private": true,
"dependencies": {
"express": "~3.0.3", // how do I get these bumped to latest?
"mongodb": "~1.2.5",
"underscore": "~1.4.2",
"rjs": "~2.9.0",
"jade": "~0.27.2",
"async": "~0.1.22"
}
}
Run Code Online (Sandbox Code Playgroud)
我现在是npm-check-updates的合作者,这是解决这个问题的一个很好的解决方案.
我刚刚升级到npm @ 5.我现在有一个package-lock.json文件,其中包含package.json中的所有内容.我希望,当我运行时npm install,将从锁定文件中提取依赖版本以确定应该在我的node_modules目录中安装什么.奇怪的是它实际上最终修改并重写了我的package-lock.json文件.
例如,锁定文件的typescript指定为版本2.1.6.然后,在npm install命令之后,版本更改为2.4.1.这似乎打败了锁定文件的整个目的.
我错过了什么?如何让npm真正尊重我的锁文件?
Node.js docker 教程 ( https://nodejs.org/en/docs/guides/nodejs-docker-webapp/ ) 指定 npm install 应该在启动 docker 之前在主机上运行以生成包锁。 .json 文件。
当主机上没有 npm/node 时,应该如何生成这个文件?
当新的依赖项添加到 package.json 时,package-lock.json 应该如何更新?
npm 指定 package-lock.json 文件应签入源代码管理。当 npm install 通过 docker 运行时,它会在容器中生成 package-lock.json 文件 - 这不是从源代码管理中检出的地方。显而易见的解决方法是在更新时将文件从容器复制到主机,但这似乎应该有一个更简单的解决方案。