我非常确定 npm 将会更新应用程序文件clean-webpack-plugin
from版本0.1.18
to版本0.1.19
运行后:npm update clean-webpack-plugin
正如你的问题中所描述的。
但是,npm 不会更新您的条目package.json
从理论上讲,实际上没有必要这样做。为什么?..因为版本"^0.1.18"
指定于package.json
。 IE。版本用插入符号指定^
symbol.
假设您要发布您的项目^0.1.18
指定于package.json
然后任何后续用户运行npm install
实际上会得到版本0.1.19
anyway (警告:作为版本历史记录clean-webpack-plugin
在撰写本文时当前位于 npm 存储库中).
所以,简而言之,我很确定那个版本0.1.19
已安装在您的系统上,它只是没有更改中指定的版本package.json
。实际上没有必要这样做,并且 semver 的规则和插入符号的使用仍然受到尊重。
所以插入符号^
符号应该意味着您可以将软件包更新到版本0.9.9
如果有的话,对吗?
插入符号位于"^0.1.18"
是对 npm 说我将接受任何最新的更新MINOR版本,但我不会接受重大更新。 IE。^0.1.18
表示范围内的任何更新>=0.1.18 <1.0.0
(也允许该范围内的补丁更新).
验证是否已更新:
验证是否版本0.1.19
实际上已经安装了你可以cd
到您的项目目录并运行:
npm ls clean-webpack-plugin
您应该会看到以下内容记录到控制台:
...
└── [email protected]
但我想要package.json
以显示"^0.1.19"
跑步后npm update
:
当你最初运行时npm update clean-webpack-plugin
你可以有:
- 附加了
--save-dev
争论(如果它已列在您的devDependencies
的部分package.json
).
- 或者,附加
--save
争论(如果它已列在您的dependencies
的部分package.json
).
附加任一--save-dev
or --save
酌情npm update clean-webpack-plugin
会更新条目package.json
。这在记录更新--savenpm 文档的部分。
通过这样做,您可以将其视为重新指定初始值>=
您将接受的更新范围的一部分。
Note
Running npm update clean-webpack-plugin
与额外的--save
or --save-dev
参数不会有任何影响,如果npm ls clean-webpack-plugin
报告:
...
└── [email protected]
没有什么可更新的,所以我只需手动指定"^0.1.19"
in package.json
.