📵
オフライン環境構築 npm編
はじめに
【Yarn】パッケージをオフラインでインストールする という記事に触発されて、npmパッケージのオフラインインストール用のツールyarn-offlineを作った。
npm自体はオフラインインストールに対応していないのでyarnを使う。
ディレクトリ構成
ツールのディレクトリ構成はこんな感じ。
yarn-offline
├── .gitignore
├── .yarnrc
├── CHANGELOG.md
├── LICENSE
├── README.md
├── offline-cache
│ └── .gitkeep
└── package.json
ツールのミソは.yarnrc。プロジェクトディレクトリの.offline-cache
フォルダにtarボールを保存するための設定をしてある。
.yarnrc
yarn-offline-mirror "./offline-cache"
yarn-offline-mirror-pruning true
使い方
オンラインでの作業
まず、ツールをcloneする。
git clone https://github.com/kannkyo/yarn-offline
cd yarn-offline
次に、オンライン環境でyarnコマンドを実行する。
コマンド実行
yarn add <package_name>
# or
yarn add -D <package_name>
または、package.json
に手入力で所望のパッケージを記載し、yarn online:download
コマンドを実行する。
package.json
"devDependencies": {
"cross-env": "^7.0.2",
},
"dependencies": {
"express": "^4.17.1"
}
yarn online:download
これで、offline-cache
ディレクトリにtarボールが保存される。
offline-cacheディレクトリ
offline-cache/
├── .gitkeep
├── @webassemblyjs-ast-1.9.0.tgz
...
└── yeoman-generator-2.0.5.tgz
オフラインでの作業
最後に、オフライン環境にyarn-offlineディレクトリを丸ごと移動してyarn offline:install
コマンドを実行する。
yarn offline:install
これでOK。
バージョン更新方法
offline-cache
を作ってからしばらくたつと、パッケージのバージョンを上げたくなることがある。
こんな場合はyarn online:upgrade
コマンドでバージョンアップが可能。
yarn online:upgrade
yarn online:download
Discussion