[英]Skipping cache generation, cache already exists for key
使用CircleCI - version: 2.1
- 用於緩存已安裝依賴項的持續部署。 基於save_cache
文檔:
在我們的 object 存儲中生成並存儲文件或文件目錄的緩存,例如依賴項或源代碼。 以后的作業可以恢復這個緩存。
當前場景:
請參閱下面.circleci/config.yml文件中的簡化緩存步驟:
steps:
- node/with-cache:
steps:
- checkout
- run: npm install
- save_cache:
key: dependencies
paths: node_modules
一旦將新的 package 添加到項目中,問題就會出現,因此package.json文件正在更改。 同時, CircleCI顯示了保存緩存步驟的消息:
跳過緩存生成,緩存已經存在 key: dependencies
發現一個創建於 2020-05-23 19:29:29 +0000 UTC
那么一旦恢復緩存顯然沒有發現build步驟中新增的package:
./src/index.tsx
找不到模塊:“包名”。 確保已安裝此 package。
問題:
有什么方法可以檢查管道中的package.json變化? 理想情況下,我只會在這些情況下安裝依賴項,以便可以清除和更新緩存。
也許我在文檔中沒有看到任何內容。 任何幫助表示贊賞,謝謝!
問題是您使用的緩存鍵是“依賴項”,一個純字符串。 此鍵永遠不會更改,因此您將始終使用相同的緩存。
您需要使用更改的緩存鍵,最好基於package.lock
。 請閱讀 CircleCI 文檔中的緩存鍵部分以獲取更多信息:https://circleci.com/docs/2.0/caching/#using-keys-and-templates
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.