一、装置yarn
(1)下载node.js,应用npm装置
npm install -g yarn
(2)查看版本
yarn --version
(3)yarn淘宝源装置
yarn config set registry https://registry.npm.taobao.org -g
yarn config set sass_binary_site http://cdn.npm.taobao.org/dis... -g
二、yarn和npm命令比照
npm yarn 正文
npm init yarn init 初始化我的项目
npm install yarn 装置全副依赖
npm install react --save yarn add react 装置某个依赖,保留到 dependencies
npm uninstall react --save yarn remove react 移除某个依赖
npm install react --save-dev yarn add react --dev 装置某依赖,保留到 devDependencies
npm update [package] --save yarn upgrade [package] 更新生产环境某个依赖包
npm install axios --global yarn global add axios 全局装置某个依赖
npm install --save axios vue-axios yarn add axios vue-axios 同时下载多个依赖包
npm install [package]@[version] yarn add [package]@[version] 装置指定版本的包
npm rebuild yarn install --force 从新下载所有包
…
…
…
yarn和npm能够通过镜像源工具nrm相互切换
三、npm 中 –save和–save-dev区别
npm5版本之前,必须要加上--save,才会将包记录到package.json
npm5版本之后开始,--save是默认值了,能够省略不写
–save 简写 -S 会被记录到dependencies【生产环境】
npm 等同 yarn
npm i jquery // npm i jquery --save = yarn add jquery
npm i jquery -S = yarn add jquery -S // yarn 只有简写
–save-dev 简写 -D 会被记录到devDependencies【开发环境】
npm 等同 yarn
npm i Webpack -D // npm i webpack --save-dev = yarn add webpack -D // yarn 只有简写
dependencies:我的项目依赖,我的项目理论运行须要的依赖,上线还是须要的,如(vue,jquery)
devDependencies:开发依赖,只在开发时须要的依赖,实际上线不须要的,如(webpack)
四、yarn比照npm的长处 :
1、离线模式
yarn会有一个缓存目录,会缓存以前装置过的软件包,再次装置时就不用从网络下载了,大大减速装置速度。
2、依赖关系确定性
在每一台机器上针对同一个工程装置依赖时,生成的依赖关系程序和版本是统一的。
3、网络性能优化
下载软件时会优化申请程序,防止申请瀑布产生
4、网络回弹
yarn在某个安装包申请失败时不会导致装置失败,它会主动去尝试重新安装。而npm则会毫不犹豫的失败,导致得再来一次,消耗工夫
5、多注册起源
所有的依赖包,不论他被不同的库间接关联援用多少次,装置这个包时,只会从一个注册起源去装,要么是 npm 要么是 bower, 防止出现凌乱不统一。
6、扁平模式
对于多个包依赖同一个子包的状况,yarn会尽量提取为同一个包,防止出现多处正本,节约空间。比方1.2中,yarn会为babel-generator和babel-helper-define-map 创立同一个lodash子依赖,这样就节约一份的空间。
装置
https://classic.yarnpkg.com/z...
查问与更换源
yarn config get registry
yarn config set registry https://registry.npm.taobao.org/
应用办法:装置依赖
下载所有依赖:
yarn install
增加一个依赖:
yarn add axios
npm更换源
npm也能够更换源,不过实测,更换源之后,搜寻命令npm search无奈应用,须要应用对应的网页搜寻,要应用搜寻,删除registry即可。
npm config get registry
npm config set registry https://registry.npm.taobao.org/
复原官网源
你能够这样设置官网源,从而复原,不过,搜寻仍然无奈应用:
yarn config set registry https://registry.yarnpkg.com
npm config set registry https://registry.npmjs.org
要复原搜寻性能,请应用删除:
yarn config delete registry
npm config delete registry
finaly
yarn无奈搜寻,npm换源后无奈搜寻,所以最终采纳的办法是:
yarn更换源为国内镜像,npm放弃搜寻性能!
附录
淘宝npm镜像
·搜寻地址:http://npm.taobao.org
·registry地址:http://registry.npm.taobao.org
cnpmjs镜像
·搜寻地址:http://cnpmjs.org
·registry地址:http://r.cnpmjs.org
yarn 安装包时呈现 yarn computed integrity doesn't match our records 谬误
content-disposition
error https://registry.npm.taobao.o... Integrity check failed for "qs" (computed integrity doesn't match our records, got "sha
512-+wYo+L6ZF6BMoEjtf8zB2esQsqdV6WsjRK/GP9WOgLPrq87PbNWgIxS76dS5uvl/QXtHGakZmwTznIfcPXcKlQ== sha1-pZ6FHBuhbAUT6hI4MN1jmgoVy2o=")
解决办法:
yarn cache clean
yarn --update-checksums
yarn
生成离线包指令
mkdir -p /home/yarn-offline-mirror/npm-packages-offline-cache
cd $your_web_project #web我的项目目录
vi .yarnrc
lastUpdateCheck 1583400926461
yarn-offline-mirror "/home/yarn-offline-mirror/npm-packages-offline-cache"
yarn-offline-mirror-pruning true
rm -rf node_modules/ #不存在就不必此句 然而要保障我的项目yarn.lock 文件是肯定存在的
yarn install
ll /home/yarn-offline-mirror/npm-packages-offline-cache
end..
注 官网的那几个yarn config set yarn-offline-mirror 只是为了生成.yarnrc 文件 来通知我的项目离线包门路
前言
须要在无网环境中利用jenkins去构建我的项目,故须要利用yarn提供的离线安装包性能 :Yarn offline,
尤其是在大型项目中,Yarn的次要长处之一是它能够从文件系统中的文件装置node_modules,将其称为“脱机镜像”,
通过互连网来获取依赖,构建零碎既不可反复也不牢靠,所以我门通过离线yarn tarball cache来解决这个case。
文件筹备 package.json
复制代码
{
"name": "yarn-offline",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"dependencies": {
"is-array": "^1.0.1","left-pad": "^1.1.3","mime-types": "^2.1.13"
}
}
复制代码
开始制作离线包
.yarnrc配置
复制代码
mkdir -p /home/yarn-offline-mirror
yarn config set yarn-offline-mirror /home/yarn-offline-mirror/npm-packages-offline-cache
vi .yarnrc
lastUpdateCheck 1583400926461
yarn-offline-mirror "/home/yarn-offline-mirror/npm-packages-offline-cache"
复制代码
复制代码
rm -rf node_modules/
yarn isntall
查看
npm-packages-offline-cache
├── is-array-1.0.1.tgz
└── mime-db-1.43.0.tg
复制代码
离线包失效测试
敞开网络#
rm -rf node_modules/
yarn install