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/

posted @ 2018-12-25 10:51  莯琂  阅读(931)  评论(0编辑  收藏  举报