一、npm是什么
全称:node package manager(node 包管理器)
npm是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:
- 允许用户从NPM服务器下载别人编写的第三方包到本地使用。
- 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
- 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。
由于新版的nodejs已经集成了npm,所以安装完Nodejs就等于安装了npm。我们可以通过输入 “npm -v” 来测试是否成功安装。但是npm版本的更新迭代频率是要高于node的,所以很多情况下我们需要单独的升级npm版本。
如果安装的npm版本过低,可以很容易的通过npm命令来升级
npm install npm –g
npm install npm@5.1.0 -g
npm install npm@latest -g
npm install npm@next -g(更新到npm最新但未发布的版本)
二、初始化
创建模块,package.json 文件是必不可少的。我们可以使用 NPM 生成 package.json 文件。package.json 相当于是一个项目的整体描述,其中记录了该项目的 git 地址,项目简介,依赖模块,bug 汇报地址等等信息,如今很多工具都利用 package.json 来存放配置文件,比如 eslint 可以读取 package.json 中的eslintConfig 字段来获取配置,babel 可以读取 babel 字段来获取配置。
npm init
npm init –y
三、全局安装
全局安装:
npm install <package> –g / npm i –g <package>
全局更新:
npm update -g <package>
全局卸载:
npm uninstall -g <package>
查看全局目录:
npm config get prefix -->C:\Users\damu\AppData\Roaming\npm
npm root -g -->C:\Users\damu\AppData\Roaming\npm\node_modules
四、本地安装
npm install webpack --save
将模块写入package.josn的dependencies属性(项目应用运行时依赖)
npm install webpack --save-dev
将模块写入package.josn的devDependencies属性(项目应用开发时依赖)
其他命令与全局安装的差不多,一一对应上即可。
五、 npm install
npm install: 不带任何参数,这会安装 package.json 中记录的模块。
npm install @<version|tag>:
从 npm 源上安装指定版本或者 tag 的模块
tag:
npm 也允许开发者给某个版本打 tag,比如当版本进行到 1.0.9 的时候可以给他打个 tag 叫做 beta,这个时候用户可以使用 npm i project@beta 来安装这个版本,这等价于 npm i [email protected].
默认情况下载 npm publish 的时候 npm 会给当前版本打一个 tag 叫做 latest,表示这是最新的
npm publish : 表示发布
六、npm 脚本
npm允许在package.josn文件中,使用scripts字段定义脚本命令:
"scripts":{
"build": "webpack"
}
运行脚本只需要 npm run build
即可。
在使用 npm run 的时候会将 node_modules/.bin 加入环境变量 PATH 中,在命令执行完了再移除,因此你不需要写成:
"build": "./node_modules/.bin/webpack"
npm start
是npm run start
的简写
查看npm可用的所有脚本 : npm run
七、模块版本号
使用NPM下载和发布代码时都会接触到版本号。NPM使用语义版本号来管理代码,这里简单介绍一下。 语义版本号分为X.Y.Z三位,分别代表主版本号、次版本号和补丁版本号。当代码变更时,版本号按以下原则更新。
- 如果只是修复bug,需要更新Z位。
- 如果是新增了功能,但是向下兼容,需要更新Y位。
- 如果有大变动,向下不兼容,需要更新X位。
八、 注意点
为什么大多数第三方包需要全局安装后再局部安装?
全局安装:使开发者能在任何目录底下运行webpack命令
局部安装:使项目使用本地的webpack版本
九、npx包执行器
npx是内置的包执行器,npx会自动查找当前依赖包中的可执行文件,或者去 PATH 里找。如果依然找不到,就会帮你安装!
npm install -g npx
npm install npx --save-dev
npm 5.2.0后自带npx包
十、npm的镜像
1.得到原本的镜像地址
npm get registry
2、设成淘宝镜像
npm config set registry http://registry.npm.taobao.org/
3.恢复原来的镜像
npm config set registry https://registry.npmjs.org/
4、安装淘宝镜像 cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
注意点:安装淘宝镜像后,之后可以使用cnpm install xxxx
十一、nvm管理npm
nvm 是Nodejs 版本管理器
nvm install [Nodejs 版本] 安装某版本的Nodejs
nvm uninstall [Nodejs 版本] 安装某版本的Nodejs
nvm use [Nodejs 版本] 使用某版本的Nodejs。
nvm ls 查看本机安装的所有的 Nodejs, 并高亮当前使用的版本