NodeJs环境下通过离线方式安装构建项目 关键词 yarn-offline-mirror

房东的猫 提交于 2020-03-05 18:08:24

 

生成离线包指令

mkdir -p  /home/yarn-offline-mirror
yarn config set yarn-offline-mirror /home/yarn-offline-mirror/npm-packages-offline-cache
cd $your_web_project #web项目目录
mv ~/.yarnrc .
yarn config set yarn-offline-mirror-pruning true
rm -rf node_modules/
yarn install
ll /home/yarn-offline-mirror/npm-packages-offline-cache
end..

 

前言

  需要在无网环境中利用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"
  }
}

 

然后运行yarn install时,生成的yarn.lock文件,其包含每个依赖项的部分,如:

# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
# yarn lockfile v1

is-array@^1.0.1:
  version "1.0.1"
  resolved "https://registry.yarnpkg.com/is-array/-/is-array-1.0.1.tgz#e9850cc2cc860c3bc0977e84ccf0dd464584279a"

left-pad@^1.1.3:
  version "1.1.3"
  resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.1.3.tgz#612f61c033f3a9e08e939f1caebeea41b6f3199a"

mime-db@~1.25.0:
  version "1.25.0"
  resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.25.0.tgz#c18dbd7c73a5dbf6f44a024dc0d165a1e7b1c392"

mime-types@^2.1.13:
  version "2.1.13"
  resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.13.tgz#e07aaa9c6c6b9a7ca3012c69003ad25a39e92a88"
  dependencies:
    mime-db "~1.25.0"

 

开始制作离线包

 .yarnrc配置 

cd /Users/nahongze/Documents/code/eccom/ccb-bankmkdir yarn-offline-mirrorcd yarn-offline-mirror #离线包目录yarn config set yarn-offline-mirror /Users/nahongze/Documents/code/eccom/ccb-bank/yarn-offline-mirror/npm-packages-offline-cach

 

 

#去根目录复制.yarnrc 到你当前目录
 mv ~/.yarnrc .

 

 

 yarn config set yarn-offline-mirror-pruning true

 


构建离线镜像

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 

 

 

考到准生产环境后,修改 .yarnrc 去指定他的离线依赖目录

 

 完成项目中的离线包

 

 

 

 

参考说明 https://classic.yarnpkg.com/blog/2016/11/24/offline-mirror/

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!