我正在尝试对 npm update 进行简单测试,这是我的 package.json
{
"name": "nodetest3",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"chalk": "^0.1.0"
}
}
我可以看到粉笔版本
npm view chalk versions
[
'0.1.0', '0.1.1', '0.2.0',
'0.2.1', '0.3.0', '0.4.0',
'0.5.0', '0.5.1', '1.0.0',
'1.1.0', '1.1.1', '1.1.2',
'1.1.3', '2.0.0', '2.0.1',
'2.1.0', '2.2.0', '2.2.2',
'2.3.0', '2.3.1', '2.3.2',
'2.4.0', '2.4.1', '2.4.2',
'3.0.0-beta.1', '3.0.0-beta.2', '3.0.0',
'4.0.0', '4.1.0'
]
在这一点上当我跑
npm update
我应该得到一个 chalk 0.5.1 的包版本,因为我在依赖项中使用了 ^,至少这是根据手册(如果我使用 ~ 更新到最新补丁,如果我使用 ^ 更新到最新的次要版本),但是我得到的是错误的 0.1.1 版本。我不明白的是,当我将依赖项更改为“^2.0.0”或“^1.0.0”并运行时
npm update chalk
或者
npm update
chalk 已更新为正确的 2.4.2 或 1.1.3 版本。有没有办法通过 npm update 将所有包同时更新到依赖项中设置的正确版本,或者这只是一个错误,或者可能是与 chalk 相关的东西?