NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS部署上的很多问题。

测试是否安装成功,出现版本提示表示安装成功。

npm -v

NPM常用命令

官方文档:https://www.npmjs.com/package/doc

npm install <module> #安装模块
npm uninstall <module> #卸载模块
npm update <module> #更新模块
npm search <module> #搜索模块
npm init <module> #创建模块模块
npm add user #npm资源库中注册用户
npm publish #发布模块
npm help #可查看所有命令
npm help <command> #查看某条命令详细帮助
npm install . -g #可以先在本地安装当前命令行程序,可以用于发布前的本地测试
npm cache clear #清空NPM本地缓存
npm unpublish <package>@<version> #撤销发布过的某个版本

检查模块卸载是否成功:进入/node_modules/目录查看包是否还在,或者使用如下命令:

npm ls

全局安装与本地安装

npm包安装分本地安装(local)和全局安装(global),差别是带不带 -g(global).

  • 本地安装:将安装包放在./node_modules下;可以通过require()引入本地安装包。
  • 全局安装:将安装包放在/urs/local或者node的安装目录;可以直接在命令行使用。
npm install <module>		# 本地安装
npm install <module> -g # 全局安装
npm list -g #查看所有全局安装模块
npm list <module> #查看具体模块版本号

使用package.json

package.json位于模块的根目录下,用于定义包的属性。

package.json具体属性说明:

  • name——包名
  • version——包的版本号
  • description——包的描述
  • homepage——包的官网url
  • author——包的作者
  • contributors——包的其他贡献者
  • dependencies——依赖包列表。如果依赖包没有安装,npm会自动将依赖包安装在node_module目录下
  • repository——包代码存在的地方类型,可以是git、svn
  • main——程序的主入口文件,默认是模块根目录的index.js
  • keyword——关键字

NPM版本号

NPM使用语义版本号管理代码。语义版本号分为X.Y.Z三位,分别代表主版本号、次版本号和补丁版本号。代码变更时,版本号按照如下原则更新。

  • 如果只是修复bug,需要更新Z位。
  • 如果是新增了功能,但向下兼容,需要更新Y位。
  • 如果有大变动,向下不兼容,需要更新X位。

版本号有了这个保证后,在申明第三方包依赖的时候,可以依赖某个范围的版本号。

使用淘宝NPM镜像

国内直接使用npm官方镜像非常慢,可以使用淘宝NPM镜像。淘宝NPM镜像是一个完整的npmjs.org镜像,同步频率为10min一次。

淘宝npm: http://npm.taobao.org/

npm install -g cnpm --registry=https://registry.npm.taobao.org #安装cnpm代替npm
npm config set registry https://registry.npm.taobao.org/ #直接修改npm镜像仓库registry

【前端】NodeJs包管理工具NPM的更多相关文章

  1. NodeJS包管理工具——npm入门

    如今每个语言体系中都有一个包管理工具,PHP的Composer,Ruby的gem,Python的pip,Java的Maven……当然还有Node.js的npm.有的人会奇怪为何要引入又一个新东西来让我 ...

  2. nodejs包管理工具npm

    用Node.js安装模块 在某个项目中单独安装的时候,npm会下载所有的文件到你项目中的一个叫做node_modules的文件夹内 全局模块会被安装到{prefix}/lib/node_modules ...

  3. 主流包管理工具npm、yarn、cnpm、pnpm之间的区别与联系——原理篇

    接触 node 之后,一直使用npm包管理工具, cnpm 一开始会用一些,但是并没有觉得比 npm 快得多,使用 cnpm 的时候还经常安装不成功,只能再用 npm 安装一遍,渐渐的就弃用了 cnp ...

  4. bower一个强大的前端依赖包管理工具

    在介绍之前,你必须的知道bower是基于nodejs开发的,所以你首先必须得有个nodejs环境,至于这么安装nodejs网上一大堆教程,对了使用bower还需要安装git,这里就不多说了. #### ...

  5. node.js开发 npm包管理工具 npm 和 cnpm区别

    npm 允许用户从NPM服务器下载别人编写的第三方包到本地使用. 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用. 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用 np ...

  6. 更换包管理工具npm为yarn

    官网:https://yarnpkg.com/zh-Hans/ 主要考虑: 1. npm管理安装模块依赖的版本不太方便,容易在删除node_modules重新install或在其他机器上新安装时, 安 ...

  7. JavaScript 包管理工具npm 和yarn 对比

  8. 包管理工具(npm、yarn)

    npm包管理工具 1. npm的包安装分为本地安装(local).全局安装(global)两种,从敲的命令行来看,差别只是有没有-g而已. 2. 这两种安装方式的区别: 本地安装(安装在命令行运行所在 ...

  9. Node.js之包与npm包管理工具

    Node.js之包与npm包管理工具 1.Node.js中的包 1.1在一个包中包含如下内容: package.json:对包进行描述 在bin子目录中存放二进制文件 在lib子目录中存放JavaSc ...

随机推荐

  1. ASP.NET状态管理的总结

    阅读目录 开始 hidden-input QueryString Cookie ApplicationState ViewState,ControlState Session Profile 各种状态 ...

  2. 怎么样imageview实现铺满全屏

    <ImageView android:layout_width="match_parent" android:layout_height="match_parent ...

  3. 【转】谷歌三大核心技术(一)The Google File System中文版

      The Google File System中文版 译者:alex 摘要 我们设计并实现了Google GFS文件系统,一个面向大规模数据密集型应用的.可伸缩的分布式文件系统.GFS虽然运行在廉价 ...

  4. 【转】linux sar命令详解

    原文地址:http://lovesoo.org/linux-sar-command-detailed.html sar(System Activity Reporter系统活动情况报告)是目前 Lin ...

  5. Kafka 副本失效

    Kafka源码注释中说明了一般有两种情况会导致副本失效: follower副本进程卡住,在一段时间内根本没有想leader副本发起同步请求,比如频繁的Full GC. follower副本进程同步过慢 ...

  6. 接口测试学习笔记(Jmeter)

    常见接口协议: 1.http 超文本传输协议 2.https 安全超文本传输协议 3.ftp 文件传输协议 4.tcp 网络控制协议 5.IP 互联网协议 6.udp 用户数据协议 -- HTTP协议 ...

  7. Git 撤销与修改

    增补提交 git commit –C HEAD –a --amend -C表示复用指定提交的提交留言,这个例子中是HEAD,实际上可以指定其他有效的提交名称. 如果参数是小写的-c,就会打开预先设置好 ...

  8. Windows Mobile设备操作演示准备工作小记

    公司最近为PDA开发了一款作业程序,我在工作中常常需要将操作过程通过电脑上设影出来为客户讲解使用方法.本文记录了相关的准备工作. 1. 微软嵌入式操作系统体系 RTOS: Embedded Real ...

  9. 分布式理论(六)—— Raft 算法

    前言 我们之前讲述了 Paxos 一致性算法,虽然楼主尝试用最简单的算法来阐述,但仍然还是有点绕.楼主最初怀疑自己太笨,后来才直到,该算法的晦涩难懂不是只有我一个人这么认为,而是国际公认! 所以 Pa ...

  10. 任意的组合,数组或数组,数组或list,list或list不用循环得出匹配的总数和需要的字段列

    var res = list.Where(p=> list2.Any(x=>x.Id == p.Id));var count = res.Count();var ids = res.Sel ...