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. MySQL 分组之后如何统计记录条数 gourp by 之后的 count()

    SELECT count(*) FROM 表名 WHERE 条件 // 这样查出来的是总记录条 SELECT count(*) FROM 表名 WHERE 条件 GROUP BY id //这样统计的 ...

  2. Element ui级联地址省市区插件

    安装 npm install element-china-area-data -S 使用 import { provinceAndCityData, regionData, provinceAndCi ...

  3. 搭建laravel到nginx

    一.laravel的安装 搭建的第一步当然是安装好laravel,这里推介composer安装,由于国内的问题,极其推介使用国内的镜像去搭建,我在终端里本已经设置好常规的https和http之类的FQ ...

  4. SpringMVC源码阅读:拦截器

    1.前言 SpringMVC是目前J2EE平台的主流Web框架,不熟悉的园友可以看SpringMVC源码阅读入门,它交代了SpringMVC的基础知识和源码阅读的技巧 本文将通过源码(基于Spring ...

  5. normalize.css 中文版

    ## normalize.css 中文版 normalize.css 原地址:http://necolas.github.io/normalize.css/reset 太暴力了,这个 normaliz ...

  6. jQuery获取动态产生的html内标签或元素

    下午分享<MVC编辑状态两个DropDownList联动>http://www.cnblogs.com/insus/p/3426563.html 不久,马上有网友问及三级联动的例子.Ins ...

  7. AssemblyInfo.cs 详解

    前言 ? .net工程(包括Web和WinForm)的Properties文件夹下自动生成一个名为AssemblyInfo.cs的文件,一般情况下我们很少直接改动该文件.但我们实际上通过另一个形式操作 ...

  8. 记一次webapi传参数的问题

    .net小白一枚,经过了几个小时的研究,由于错误的写法导致后台始终接受不到前台传递过来的参数.首先看看控制器的参数 public Core.MVC.ServiceResult<DTO.Out.M ...

  9. 关于《阿里巴巴Java开发规约》插件的安装与使用

    一.安装 二.idea插件的安装与使用 https://github.com/alibaba/p3c/tree/master/idea-plugin#run-plugin Idea Plugin Pr ...

  10. IDEA Tomcat Web项目修改了代码,重新部署页面没改变

    今天被IDEA坑的不浅直接说一下问题: 这是html页面不管我怎么修改重启服务器在浏览器中还是一点都不变化,甚至把一些内容都删了都没有变化,target可执行文件是最新的没问题,找了点资料发现是浏览器 ...