# 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
上一篇: 下一篇:
本章目录