# 1. npm 常用命令
# 1.1. npm install
作用:
- 安装依赖
问题:
- 通过
npm install安装依赖会导致package-lock.json发生变化 - 不同人不同时间点使用
npm install安装相同的包 也会产生不同的package-lock.json - 而
package-lock.json又属于公共文件,多人同时更改会导致代码冲突
应用:
- 安装未在
package.json声明的依赖
# 1.1.1. 版本
包的版本:
| 语法 | 说明 | 示例 |
|---|---|---|
| ~version | Approximately equivalent to version | ~1.2.3 == [1.2.3, 1.3.0) |
| ^version | Compatible with version | ^1.2.3 == [1.2.3, 2.0.0) |
| version | Must match version exactly | 1.2.3 |
| >version | Must be greater than version | >1.2.3 == (1.2.3, ∞) |
| >=version | greater than or equal to | >=1.2.3 == [1.2.3, ∞) |
| <version | - | <1.2.3 == [0.0.0, 1.2.3) |
| <=version | - | <=1.2.3 == [0.0.0, 1.2.3] |
| x | - | 1.2.x == [1.2.0, 1.3.0) |
| * | Matches any version | * == [0.0.0, ∞) |
| latest | Obtains latest release | latest |
参考:
# 1.1.2. --registry
说明:
- 安装时指定仓库
示例:
npm i express --registry=https://registry.npm.taobao.org
# 1.2. npm ci
作用:
- 基于
package-lock.json安装依赖
应用:
- 安装已在
package.json声明的依赖 - 也就是说,别人安装了新依赖,你拉取了
package.json和package-lock.json后,使用npm ci安装依赖
参考:
# 1.3. npm link
作用:
- 将模块安装到全局 node_modules 中
- 将(全局的)模块安装当前项目中
示例:
全局安装
cd #=> D:\dev\my-module # 在全局 node_modules 中创建符号链接(D:\dev\my-module) npm link # 查看全局安装的位置 npm root -g #=> C:\Program Files\nodejs\node_modules # 删除 npm uni -g my-module项目安装(先要全局安装)
cd #=> D:\project\my-proj npm link my-module # 在当前项目的 node_modules 中创建符号链接(D:\dev\my-module)
参考:
# 1.4. npm view 查看包的所有版本
npm view less-loader versions
# [
# '0.1.0', '0.1.1', '0.1.2', '0.1.3', '0.2.0',
# ......
# '10.0.0', '10.0.1', '10.1.0', '10.2.0', '11.0.0',
# '11.1.0'
# ]
# 1.5. npm pack
说明:
- 将项目打包成 npm 包,创建一个 tarball(.tgz 文件)——
my-project-x.y.z.tgz - 别人可以通过
npm i my-project-x.y.z.tgz安装
语法:
npm pack --pack-destination dist-zip
--pack-destination dist-zip : 指定 tarball 的存放的位置,注意 dist-zip 目录要存在
示例:
目录:
D:/ flowchart-editor/ proj/命令:
cd flowchart-editor npm pack --pack-destination dist-zip copy dist-zip/flowchart-editor-1.0.3.tgz ../proj/libs cd ../proj npm i ./libs/flowchart-editor-1.0.3.tgz npm uni flowchart-editor
参考:
# 1.6. npm update
说明:
- 更新依赖的版本
示例:
# 按照版本规则,更新指定依赖
npm update jquery
# 更新所有的依赖
npm update
# 1.7. npm version
说明:
- 版本号格式: major.minor.patch (主版本号.次版本号.修订号)
- 示例: 1.2.3
升级版本号:
# 升级主版本号
npm version major
# 升级次版本号
npm version minor
# 升级修订号
npm version patch
注意:
- 执行 npm version 指令会修改 package.json 中 version
# 1.8. npm cache
说明:
- 缓存相关
示例:
# 查看本机缓存目录
npm config get cache
## C:\Users\wuqinfei\AppData\Roaming\npm-cache
# 清空缓存 (删除 C:\Users\wuqinfei\AppData\Roaming\npm-cache\_cacache 目录)
npm cache clean -f
# 1.9. npm ls
说明:
- 查看本地包的(版本)信息
示例:
W:\proj\11-image-control\code\image-control>npm ls typescript
@ma/image-control@1.0.0 W:\proj\11-image-control\code\image-control
+-- @ma/ma-js-api@1.0.0 -> .\..\ma-js-api
| +-- @typescript-eslint/eslint-plugin@6.15.0
| | `-- ts-api-utils@1.0.3
| | `-- typescript@5.3.3 deduped
| +-- postcss-loader@7.3.3
| | `-- cosmiconfig@8.3.6
| | `-- typescript@5.3.3 deduped
| +-- ts-loader@9.5.1
| | `-- typescript@5.3.3 deduped
| `-- typescript@5.3.3
+-- @ma/ma-proxy@1.0.0 -> .\..\ma-proxy
| `-- typescript@5.3.3
+-- @typescript-eslint/eslint-plugin@6.15.0
| `-- ts-api-utils@1.0.3
| `-- typescript@5.3.3 deduped
+-- postcss-loader@7.3.3
| `-- cosmiconfig@8.3.6
| `-- typescript@5.3.3 deduped
+-- ts-loader@9.5.1
| `-- typescript@5.3.3 deduped
`-- typescript@5.3.3
参考:
# 1.10. npm root
# 查询 Node.js 的安装目录
npm root -g
上一篇: 下一篇:
本章目录