01-NPM包安装方式
-
全局安装
npm install -g 包名 (默认安装最新版本) npm uninstall -g 包名 npm update -g 包名 (更新失败可以直接使用install) -
本地安装
npm install 包名 npm uninstall 包名 npm update 包名
首先我们可以通过npm config ls来查看npm的相关配置
npm config ls
里面的prefix就是全局安装的地址
之后我们进入全局安装的地址
默认情况进入这个地方毛都没有(但是我之前用过所以这里有很多包)
我们先安装一个nrm包来进行演示一下
我们再进入文件里面查看是否安装成功
现在我们试一下删除包
开源包的地址: www.npmjs.com/
如果我们想要安装1.1.0的版本,我们可以通过
npm install -g nrm@1.1.0
因为我们安装的不是最新版本,如果最新版本更新了,我们想安装最新的版本可以对当前版本进行到最新版本
npm update -g nrm
但是有些时候update会更新失败,那么我们还有其他方法进行更新
我们先卸载nrm,再安装,来示范一下
update容易更新失败,我们只需要再安装一下,因为安装默认安装的是最新版本,所以就可以更新
02-初始化本地包
npm init 初始化package.json文件
npm install 包名 --save
npm install 包名 --save-dev
包描述文件 package.json, 定义了当前项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等元数据)。
将项目拷贝给其它人, 或者发布的时候, 我们不会将node_modules也给别人, 因为太大
一般是把package.json文件发给别人,然后别人通过npm install 来安装所需要的包
npm i 所有的包都会被安装
npm i --production 只会安装dependencies中的包
npm i --development 只会安装devDependencies中的包
03-什么是nrm?
由于npm默认是去国外下载资源,所以对于国内开发者来说下载速度很慢
所以有人写了nrm工具,允许你将资源下载地址从国外切换到国内
npm install -g nrm 安装nrm
nrm --version 查看是否安装成功
nrm ls 查看允许切换的资源地址
npm use 切换地址 将下载地址切换到其他地址
PS:淘宝资源地址和国外的地址内容完全同步,。淘宝镜像与官方同步频率目前为 10分钟 一次以保证尽量与官方服务同步*
04-什么是cnpm?
由于npm默认回去国外下载资源, 所以对于国内开发者来说下载会比较慢
cnpm 就是将下载源从国外切换到国内下载, 只不过是将所有的指令从npm变为cnpm而已
npm install cnpm -g –registry=https://registry.npm.taobao.org 安装CNPM
cnpm -v 查看是否安装成功
使用方式同npm, 例如: npm install jquery 变成cnpm install jquery 即可
05-什么是YARN?
Yarn是由Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具
Yarn 是为了弥补 npm5.0之前 的一些缺陷而出现的
06-NPM的的缺陷
- npm install的时候
巨慢- npm 是按照队列执行每个 package,也就是说必须要等到当前 package 安装完成之后,才能继续后面的安装(
同步)
- npm 是按照队列执行每个 package,也就是说必须要等到当前 package 安装完成之后,才能继续后面的安装(
- 同一个项目,npm install的时候无法保持
一致性- “5.0.3”表示安装指定的5.0.3版本
- “~5.0.3”表示安装5.0.X中最新的版本
- “^5.0.3”表示安装5.X.X中最新的版本
06-Yarn的优点
- 速度快
- 并行安装: 而 Yarn 是同步执行所有任务,提高了性能(
异步) - 离线模式:如果之前已经安装过一个软件包,用Yarn再次安装时之间从缓存中获取,就不用像npm那样再从网络下载了
- 并行安装: 而 Yarn 是同步执行所有任务,提高了性能(
- 安装版本统一
- 为了防止拉取到不同的版本,Yarn 有一个锁定文件 (lock file) 记录了被确切安装上的模块的版本号
07-Yarn安装
npm install -g yarn
yarn --version
08-Yarn使用
-
初始化包
-
npm init -y yarn init -y
-
-
安装包
-
npm install xxx --save yarn add xxx npm install xxx --save-dev yarn add xxx --dev
-
-
移除包
-
npm uninstall xxx yarn remove xxx
-
-
更新包
-
npm update xxx yarn upgrade xxx --latest
-
-
全局安装
-
npm install -g xxx npm uninstall -g xxx npm update -g xxx yarn global add xxx yarn global upgrade xxx yarn global remove xxx
-
这里我们就不做Yarn的演示了
09-总结
开源包的地址: https://www.npmjs.com/
全局比本地多加一个 -g
npm install 包名 安装最新版本的包
npm uninstall 包名 卸载包
npm install 包名@版本号 安装指定包的版本
npm init 初始化package.json文件
npm install 包名 --save 安装生产环境时使用的包
npm install 包名 --save-dev 安装开发环境时使用的包\
发送包文件,不会把node_modules包发给别人,直接把package.json文件发给别人,别人通过指令安装
npm i 所有的包都会被安装
npm i --production 只会安装dependencies中的包
npm i --development 只会安装devDependencies中的包
但是我个人不推荐使用cnpm,推荐nrm把国外的下载资源切换到国内,然后使用淘宝的资源地址
在npm5.0之前,yarn的优势特别明显.但是现在NPM已经更新到6.9.x甚至7.x了,随着NPM的升级NPM优化甚至超越Yarn,所以个人还是建议使用NPM