关于node.js:npmyarn

4次阅读

共计 3800 个字符,预计需要花费 10 分钟才能阅读完成。

一、装置 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

正文完
 0