yarn離線安裝


這里記錄下項目側如何離線安裝,本文和公司業務耦合性高,不過懂得人可以借鑒

# start.sh
work_dir=$(cd `dirname $0`; pwd) //dirname $0,取得當前執行的腳本文件的父目錄;
node_v=$(node -v)

cd $work_dir

if [ ! -e ./phoenix/build ]; then
  echo "請先打包好phoenix"
elif [ ! -e ./porpoise/dist ]; then
  echo "請先打包好porpoise內容"
else
  npm run offline-install
  npm run build
  ./node_modules/.bin/pm2 delete whale
  ./node_modules/.bin/pm2 start app.js --name "whale"
fi

不直接用pwd,是因為執行腳本的時候不一定在項目路徑下

 

在項目下新建yarn,目錄結構如下

 yarn-v1.17.3.tar.gz 安裝包可以在官網下載 (https://github.com/yarnpkg/yarn/releases/tag/v1.17.3)

# online-install.sh
#!/bin/bash SH_FILE_PATH=$(cd `dirname $0`; pwd) # $REPO_PATH/yarn cd $SH_FILE_PATH/../ rm -rf node_modules/* yarn.lock yarn-error.log npm install $SH_FILE_PATH/yarn-v1.17.3.tar.gz --no-save npx yarn config set registry https://registry.npm.taobao.org npx yarn config set yarn-offline-mirror $SH_FILE_PATH/yarn-offline-mirror //設置后執行yarn install會將鏡像緩存在yarn-offline-mirror文件夾下 npx yarn config set yarn-offline-mirror-pruning false npx yarn cache clean npx yarn install npx yarn config list
#offline-install.sh
#!/bin/bash

SH_FILE_PATH=$(cd `dirname $0`; pwd) # $REPO_PATH/yarn
cd $SH_FILE_PATH/../
rm -rf node_modules/
npm install $SH_FILE_PATH/yarn-v1.17.3.tar.gz --no-save
npx yarn config set yarn-offline-mirror $SH_FILE_PATH/yarn-offline-mirror
npx yarn cache clean
npx yarn install --offline

這個是官網的離線文檔https://yarnpkg.com/blog/2016/11/24/offline-mirror/

ps:

對於個人倉庫的npm包,由於yarn生成的鏡像的文件命名為name-版本號;如

#package.json
{
    "dependencies": {
        "setprototypeof": "^1.2.0",
        "star-graph": "git+http://git.sz.haizhi.com/xieyuzhong/star-graph.git" 
  } }
生成的tgz包為setprototypeof-1.2.0.tgz;所以star-graph的鏡像包不能准確生成導致離線安裝失敗;對於可以單獨備份然后copy到node_modules

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM