npm的使用方式
npm是什么?
npm 是 JavaScript 世界的包管理工具,并且是 Node.js 平台的默认包管理工具。通过 npm 可以安装、共享、分发代码,管理项目依赖关系。
registry配置
JavaScript包注册表,也就是包存放的服务器地址。
- 1.查看registry
$ npm config get registry
// http://registry.npmjs.org/
- 2.配置npm服务器
$ npm config set registry http://registry.npm.taobao.org // 将registry设置为淘宝镜像
$ npm config set registry http://registry.npmjs.org // 将registry设置为默认registry
- 3.使用cnpm代替默认的npm
淘宝 NPM 镜像:
$ npm install -g cnpm --registry=https://registry.npm.taobao.org
npm安装包的相关命令
查看
- 1.查看当前目录下安装了哪些node包
$ npm ls
- 2.查看当前目录中的文件和文件夹
$ dir
安装包
- 1.本地安装
$ npm install <package_name>
将依赖包信息写入package.json中:
npm install <package_name>
:安装好后不写入package.json中
npm install <package_name> --save
: 安装好后写入package.json的dependencies中(生产环境依赖)
npm install <package_name> --save-dev
: 安装好后写入package.json的devDepencies中(开发环境依赖)
- 2.全局安装
$ npm install -g <package>
更新安装包
- 1.更新本地包
$ npm update
- 2.更新全局包
$ npm update -g <package>
卸载安装包
- 1.卸载本地包
$ npm uninstall <package>
如需从 package.json 文件中删除依赖:
$ npm uninstall --save <package>
如通过 --save-dev 参数保存的:
$ npm uninstall --save-dev <package>
- 2.卸载全局包
$ npm uninstall -g <package>
登陆/注册 npm
- 1.查看当前npm用户
$ npm whoami
arissy // 当前用户
- 2.登陆npm
$ npm login
Username: arissy
Password:
Email: (this IS public) 984385267@qq.com
Logged in as arissy on http://registry.npmjs.org/.
- 3.注册npm
$ npm adduser
发布/撤销/更新包
- 1.发布本地包
进入本地项目目录执行下面命令:
$ npm publish
注意:
1、在publish本地node包时要改回原地址http://registry.npmjs.org
;
2、不能和已有的包的名字重名;
3、npm对包名的限制:不能有大写字母/空格/下滑线;
4、如果项目里有部分代码不想发布到npm上,则将它写入.gitignore
中,上传就会被忽略了。
- 2.撤销发布包
$ npm unpublish <package>
如果报权限方面的错误,则加上--force
.
另外需要注意一点:
npm unpublish
的推荐替代命令:npm deprecate <pkg>[@<version>] <message>
使用这个命令,并不会在社区里撤销你已有的包,但会在任何人尝试安装这个包的时候得到警告,例如:
npm deprecate <package> '这个包我已经不再维护了哈!'
- 3.更新发布包
步骤如下:
1:修改包的版本号(package.json
里的version
字段);
2:npm publish
.
npm的版本控制:
对于"version":"x.y.z", 如1.0.0
1.修复bug,小改动,增加z, 如1.0.1;
2.增加了新特性,但仍能向后兼容,增加y, 如1.1.0;
3.有很大的改动,无法向后兼容,增加x, 如2.0.0.
也可以通过命令npm version <update_type>
自动改变版本, <update_type>值为patch(修复), minor(小改), major(大改)其中之一.
参考资料
https://docs.npmjs.com/
https://www.npmjs.cn/
https://npm.taobao.org/