yarn.lockのchecksumを使うときには、–frozen-lockfileを添えよう
Circle CIのCacheではまったので覚書。 やりたかったこと Yarnでインストールしたnode_modulesをcacheしてjobsで使いまわしたい。 起こった問題 save_cacheでのchecksumと […]
広告ここから
広告ここまで
Circle CIのCacheではまったので覚書。
目次
やりたかったこと
Yarnでインストールしたnode_modules
をcacheしてjobsで使いまわしたい。
jobs:
prepare:
docker:
- image: circleci/node:lts-browsers
working_directory: ~/repo
steps:
- checkout
- restore_cache:
name: Restore Yarn Package Cache
keys:
- yarn-packages-{{ .Branch }}-{{ checksum "yarn.lock" }}
- run: yarn
- save_cache:
name: Save Yarn Package Cache
key: yarn-packages-{{ .Branch }}-{{ checksum "yarn.lock" }}
paths:
- ~/.cache/yarn
- save_cache:
name: Save development dependencies
key: dev-dep-{{ .Branch }}-{{ checksum "yarn.lock" }}
paths:
- node_modules/
test:
docker:
- image: circleci/node:lts-browsers
working_directory: ~/repo
steps:
- checkout
- restore_cache:
name: Restore Dev dependencies
keys:
- dev-dep-{{ .Branch }}-{{ checksum "yarn.lock" }}
- run: ls -la
- run: ls -la node_modules
起こった問題
save_cache
でのchecksumと、後方のjobでのrestore_cache
のchecksumが一致しない。
そのためnode_modules
がrestoreされずにエラーになる。
原因
yarn(yarn install)
すると、yarn.lock
が更新される。そのためchecksumが異なる値になってしまっている。
対策
--frozen-lockfile
オプションをつけることで、yarn.lock
の更新をなくす。
jobs:
prepare:
docker:
- image: circleci/node:lts-browsers
working_directory: ~/repo
steps:
- checkout
- restore_cache:
name: Restore Yarn Package Cache
keys:
- yarn-packages-{{ .Branch }}-{{ checksum "yarn.lock" }}
- run: yarn --frozen-lockfile
- save_cache:
name: Save Yarn Package Cache
key: yarn-packages-{{ .Branch }}-{{ checksum "yarn.lock" }}
paths:
- ~/.cache/yarn
- save_cache:
name: Save development dependencies
key: dev-dep-{{ .Branch }}-{{ checksum "yarn.lock" }}
paths:
- node_modules/
test:
docker:
- image: circleci/node:lts-browsers
working_directory: ~/repo
steps:
- checkout
- restore_cache:
name: Restore Dev dependencies
keys:
- dev-dep-{{ .Branch }}-{{ checksum "yarn.lock" }}
- run: ls -la
- run: ls -la node_modules
ブックマークや限定記事(予定)など
WP Kyotoサポーター募集中
WordPressやフロントエンドアプリのホスティング、Algolia・AWSなどのサービス利用料を支援する「WP Kyotoサポーター」を募集しています。
月額または年額の有料プランを契約すると、ブックマーク機能などのサポーター限定機能がご利用いただけます。
14日間のトライアルも用意しておりますので、「このサイトよく見るな」という方はぜひご検討ください。
広告ここから
広告ここまで