配置
npm config 命令
执行 npm help config
在浏览器打开命令 npm config
的介绍页。
npm config list
展示部分配置npm config list --json
以 json 格式展示所有配置
npm config list
; "builtin" config from D:\nodejs\node_modules\npm\npmrc
prefix = "C:\\Users\\zbxtqw\\AppData\\Roaming\\npm"
; node bin location = D:\nodejs\node.exe
; node version = v16.18.1
; npm local prefix = E:\Desktop
; npm version = 8.19.2
; cwd = E:\Desktop
; HOME = C:\Users\zbxtqw
; Run `npm config ls -l` to show all defaults.
npm config list --json
{
"prefix": "C:\\Users\\zbxtqw\\AppData\\Roaming\\npm",
"cache": "C:\\Users\\zbxtqw\\AppData\\Local\\npm-cache",
"registry": "https://registry.npmjs.org/",
"userconfig": "C:\\Users\\zbxtqw\\.npmrc"
// ...
}
参考:
prefix
表示全局包(prefix/node_modules)、执行脚本(prefix)存放位置。
默认 C:\Users\xxx\AppData\npm
参考:
cache
缓存位置。
registry
npm 源。
userconfig
用于存放用户修改的配置信息,如 npm config set prefix "D:\nodejs"
会向 .npmrc 写入 prefix=D:\nodejs
。
配置来源
配置存放位置:
项目级配置,跟 package.json 文件相邻,如
/path/to/my/project/.npmrc
。操作系统用户级配置,如
C:\Users\xxx\.npmrc
。全局配置文件,位于 Node 安装目录,如
D:\soft\nvm\v20.10.0\etc\npmrc
。内置配置
path/to/npm/itself/npmrc
。
执行 npm config list --json
,打印:
{
// ...
"globalconfig": "D:\\soft\\nvm\\v20.10.0\\etc\\npmrc",
"userconfig": "C:\\Users\\01422772\\.npmrc"
}
Node 包分类
包类型 | 安装位置 | 可执行脚本位置 |
---|---|---|
内置包 | Node 安装目录下 node_modules 文件夹 | Node 安装目录 |
全局包 | prefix/node_modules | prefix |
项目包 | 项目根目录下 node_modeules 文件夹 | 项目/node_modules/.bin |
内置包
位于 Node 安装目录下 node_modules
文件夹中,如果内置包提供了可执行脚本,这些脚本直接位于 Node 安装目录下。
全局包
npm install -g xxx
安装在 prefix/node_modules
文件夹中,如果全局包提供了可执行脚本,这些脚本直接位于 prefix
文件夹下。
全局包和内置包的区别在于,内置包是 Node 自带的,而全局包是 npm 安装的。它们存放位置相同,都是位于 prefix/node_modules
文件夹中。
项目包
安装在项目根目录下 node_modeules
文件夹中,如果项目包提供了可执行脚本,这些脚本位于 node_modules/.bin
下,如项目安装了 vitepress
,可以通过下面方式使用其提供的可执行脚本:
npx vitepress dev
node_modules/.bin/vitepress dev
- package.json 中 scripts 字段定义的命令 dev:
pnpm dev
修改全局包安装位置
修改全局包安装位置、相应可执行脚本位置:
npm config set prefix "D:\nodejs"
实际上,该命令会在用户目录下的新建 C:\Users\zbxtqw\.npmrc
文件并写入 prefix=D:\nodejs