
配图源自 Freepik
我们知道,使用 npm 或 yarn 安装包时,它会以 ^x.y.z 形式添加到 package.json 里面。
{
"devDependencies": {
"typescript": "^5.0.2"
}
}
可通过 save-prefix 或 save-exact 进行修改:
-
save-prefix可以指定为^(默认)或~。 -
save-exact指定确切版本(优先级更高)。
npm 配置文件的作用范围可分为 global、user、project,但通常我们只要关注 user 和 project 就行,对应的配置文件在 ~/.npmrc 和 /path/to/project/.npmrc。
# 用户级别
$ npm config set save-prefix '~'
# 项目级别
$ npm config set save-prefix '~' --location project
# 用户级别
$ npm config set save-exact true
# 项目级别
$ npm config set save-exact true --location project
其中 npm config 修改配置是 user 级别的(通常意义上的全局配置)。当然你也可以直接修改对应配置文件(其中 .npmrc 为 ini 格式)。
由于 yarn v1 会读取 .npmrc 作为补充,通常我们只要使用 npm config 去设置即可。