我想将我的所有包更新到最新版本:
npm outdated
结果:
Package Current Wanted Latest Location
cordova 3.4.0-0.1.0 3.6.3-0.2.13 3.6.3-0.2.13 cordova
commander 2.0.0 2.0.0 2.3.0 npm-check-updates > commander
async 0.2.10 0.2.10 0.9.0 npm-check-updates > async
semver 2.2.1 2.2.1 4.0.3 npm-check-updates > semver
read-package-json 1.1.9 1.1.9 1.2.7 npm-check-updates > read-package-json
npm 1.3.26 1.3.26 2.1.2 npm-check-updates > npm
我该怎么做?
我试过了:
sudo npm update -g cordova
这也没有错误:
npm install npm-check-updates
但它没有用。
谢谢!
答案 0 :(得分:3)
npm可以!例如,我们会将cordova更新为最新版本:
sudo npm install -g cordova@latest
要更新npm,请执行相同的操作:
sudo npm install -g npm@latest
答案 1 :(得分:1)
根据package.json
中列出的内容,您应该根据每个依赖项编辑版本。
一个例子是:
"devDependencies": {
"grunt": "*"
}
将版本设置为*
会将其设置为最新版本。在此处了解版本控制依赖项http://browsenpm.org/package.json
完成后,您可以告诉NPM安装所有项目依赖项。
$ npm install
提示:如果您没有自动将项目依赖项保存到package.json,那么您应该这样做。只需将--save
添加到安装查询的末尾即可。像这样
$ npm install grunt --save
答案 2 :(得分:-1)
看到这篇文章 HOW TO: Update all npm packages in your project at once
“scripts”: { “update:packages”: “node wipe-dependencies.js &&
rm -rf node_modules && npm update --save-dev
&& npm update --save” },
要在命令行上运行:
npm run update:packages
或者只更新npm注册表中的包:
const fs = require('fs')
const wipeDependencies = () => {
const file = fs.readFileSync('package.json')
const content = JSON.parse(file)
for (var devDep in content.devDependencies) {
if (!content.devDependencies[devDep].includes(git)) {
content.devDependencies[devDep] = '*'
}
}
for (var dep in content.dependencies) {
if (!content.dependencies[dep].includes(git)) {
content.dependencies[dep] = '*'
}
}
fs.writeFileSync('package.json', JSON.stringify(content))
}
if (require.main === module) {
wipeDependencies()
} else {
module.exports = wipeDependencies
}