Новый для npm, мой package.json
был такой:
{
"version": "1.0.0",
"name": "asp.net",
"private": true,
"devDependencies": {
"babel-core": "6.26.0",
"babel-preset-es2015": "6.24.1",
"karma": "^4.1.0"
}
}
Так что, как вы видите, версия babel-core
установлена на 6.26.0, так как я не хочу ее обновлять.Затем я побежал npm update
, package.json
стал:
{
"version": "1.0.0",
"name": "asp.net",
"private": true,
"devDependencies": {
"babel-core": "6.26.0",
"babel-preset-es2015": "6.24.1",
"karma": "^4.3.0"
}
}
Что хорошо, карма улучшена, но не вавилонская, имеет смысл.Затем я установил ncu и запустил ncu -u
, package.json
стал:
{
"version": "1.0.0",
"name": "asp.net",
"private": true,
"devDependencies": {
"babel-core": "6.26.3",
"babel-preset-es2015": "6.24.1",
"karma": "^4.1.0"
}
}
3 вопроса:
- после выполнения
npm update
, babel-core
обновлен до 6.26.3 без изменения package.json
, или babel-core
вообще не обновляется? - Я сказал npm не обновлять
babel
, почему ncu -u
обновляет babel
для меня? - зачем нам
ncu
, чтобы обновить package.json
до последней версии?Разве они не должны быть обновлены на основе каретки или тильды в package.json
вместо простого обновления до последней версии?
ОБНОВЛЕНИЕ: если ncu
предназначен для обновления всего до последней версии,почему бы просто не удалить ^
или ~
, чтобы сделать это?