前言
npm(全称 Node Package Manager,即“node包管理器”)是Node.js默认的、用JavaScript编写的软件包管理系统。(维基百科)
安装npm
MacOS
Linux
Debian
项目配置文件
- 通过修改项目的
package.json配置文件来管理依赖
package.json1 2 3 4 5 6 7 8 9 10 11 12 13
| { "name": "", "version": "1.0.0", "main": "index.js", "scripts": {}, "author": "", "license": "ISC", "description": "", "private": true, "dependencies": {}, "devDependencies": {}, "peerDependencies": {} }
|
从npm仓库引入依赖
X.Y.Z:SemVer规范的版本号
^:X保持不变,Y和Z保持最新
~:X和Y保持不变,Z保持最新
package.json1 2 3 4 5
| { "dependencies": { "demo": "^1.0.0" } }
|
从Github仓库引入依赖
package.json1 2 3 4 5
| { "dependencies": { "demo": "git+ssh://git@github.com:username/demo.git" } }
|
从本地引入依赖
package.json1 2 3 4 5
| { "dependencies": { "demo": "file:lib/demo" } }
|
管理项目依赖
查看帮助
初始化项目
-y:全部确认
1 2 3 4 5 6 7 8 9
| package name: # npm包名 version: # 版本号,默认1.0.0 descripthon: # 描述 entry point: # 入口文件,默认index.js test command: # 测试命令 git repository: # Git仓库地址 keywords: # 搜索关键字 author: # 作者 license: # 开源许可协议,默认ISC
|
安装当前项目所有依赖
添加或更新指定依赖
<package>:软件包名
--location=global、--global、-g:全局操作
--local:缺省值,当前项目操作
--save:旧版本npm安装依赖时不会将所安装的依赖添加到配置文件,需要通过--save将所安装的依赖添加到配置文件,高版本npm不需要指定--save即可在安装依赖时自动将所依赖添加到配置文件
--save-dev、-D:添加开发依赖
-legacy-peer-deps:强制安装
升级自身
添加指定版本的模块
1
| npm i <package>@<version>
|
1
| npm install <package>@<version>
|
添加多个模块
1
| npm i <package_1> <package_2>
|
1
| npm install <package_1> <package_2>
|
删除依赖
删除运行时依赖
1
| npm uninstall <package> --save
|
删除开发依赖
1
| npm uninstall <package> --save-dev
|
更新依赖
更新指定依赖
-g:全局操作
查看已安装依赖
查看指定已安装依赖
查找依赖
查看配置
强制重新编译依赖
缓存
查看缓存路径
清除缓存
全局依赖安装路径
全局依赖默认安装路径
Windows
%AppData%\npm\node_modules
MacOS
- 通过官网pkg安装的Nodejs:
/usr/local/lib/node_modules
- 通过Homebrew安装的Nodejs:
/opt/homebrew/lib/node_modules
查看全局依赖安装路径
修改全局依赖安装路径
1 2 3 4
| cd <dir> mkdir npm
npm config set prefix <dir>/npm
|
项目脚本
配置脚本
<script_name>:脚本名
<shell>:脚本执行的shell命令,在配置文件中定义脚本时可以省略npx,默认从当前项目寻找二进制包
package.json1 2 3 4 5
| { "script": { "<script_name>": "<shell>" } }
|
执行脚本
<script_name>:脚本名
内置脚本
项目发布
注册
登录
1 2 3
| Username: Password: Email:
|
传送门
发布
完成
参考文献
菜鸟笔记
CSDN——idomyway
哔哩哔哩——黑马程序员
哔哩哔哩——许泽鸿
npm官方文档
简书——fengxianqi
哔哩哔哩——Python小清风