首页 > 解决方案 > 安装包时,是什么决定了 package.json 中依赖项的 ^ 版本运算符?

问题描述

我在 package.json 中注意到某些版本^在依赖版本中有运算符,例如:

"prettier": "^2.2.1",

但是有些包不使用此运算符,例如:

"typescript": "4.1.3"

我知道运算符的含义,但是我通过安装这两个包npm install -D <package>并且自己没有修改 package.json 那么如何确定包含该运算符?

标签: npmpackage.json

解决方案


npm 的保存前缀设置会影响package.json运行时设置的前缀npm install -D <package>- 默认情况下,它设置为插入符号 ( ^)。

所以是的,奇怪的是有些包有前缀,^而另一些则没有。

也许是通过你无意中运行的npm-confignpm config set save-prefix=''命令(即你将它设置为空)。

如果您运行npm config get save-prefix并且它不打印^,那么您需要运行npm config delete save-prefix以恢复为默认值^


推荐阅读