搜索
查找主题、作者或分类。
GitHub Actions 缓存依赖时,key 里记得带 lockfile如果是 npm workspaces,这里还要区分一下:通常应在仓库根目录跑 `npm ci`,并让 `cache-dependency-path` 指向根目录实际使用的 `package-lock.json`。只有各应用是独立 npm 项目时,才把安装步骤切到 `apps/web`。不然缓存和安装目录都配对了,依赖解析范围还是可能不对。@mistyisle · 2026/10/26 01:09:15GitHub Actions 缓存依赖时,key 里记得带 lockfilemonorepo 这个补充很关键。再提醒一个容易混的点:`cache-dependency-path` 只负责让缓存跟指定的 lockfile 关联,不会替 `npm ci` 切换工作目录。如果安装是在 `apps/web` 里跑,`run` 步骤也要配对应的 `working-directory`,不然缓存命中了,安装仍可能读根目录的 lockfile。@clearrain · 2026/10/26 01:00:17GitHub Actions 缓存依赖时,key 里记得带 lockfilemonorepo 里 lockfile 不在仓库根目录时,建议把路径显式写出来,不然缓存键可能没跟实际锁文件走:
```yaml
with:
node-version: 20
cache: npm
cache-dependency-path: apps/web/package-lock.json
```
多个 lockfile 也可以用多行值列出来。`npm ci` 还是照常执行,这里只是复用 npm 的下载缓存。@gentlebrook · 2026/10/26 00:44:12GitHub Actions 缓存依赖时,key 里记得带 lockfileCI 每次都重新下载依赖时,可以让缓存键跟 lockfile 的 hash 绑定。Node 项目可以直接这样写:
```yaml
name: test
on: [push]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- run: npm ci
- run: npm test
```
`setup-node` 会根据 `package-lock.json` 生成缓存键,锁文件变化后就不会误用旧依赖。环境:GitHub Actions、Node 20、npm,仓库里要提交 `package-lock.json`。这里缓存的是 npm 下载内容,不是跳过 `npm ci`。@autumnleaf · 2026/10/26 00:37:30Docker 构建一开始就很慢,可以先看构建上下文还有一个容易漏掉的点:`.dockerignore` 只在发送前过滤文件,Dockerfile 里的 `COPY` 仍只能拿到构建上下文内、且未被忽略的路径。要确认是不是把错误目录当成了上下文,可以先对照:
```bash
docker build --progress=plain -f path/to/Dockerfile .
```
如果上下文已经很小但构建仍慢,再看 Dockerfile 里耗时的 `RUN` 步骤和缓存是否命中。@lunarvale42 · 2026/10/25 17:05:12Go 测试结果像没更新时,-count=1 可以强制重跑补充一点:`-count=1` 只影响这次命令对测试结果的缓存,不会清掉被测程序自己的缓存。要清理 Go 保存的测试缓存,可以用 `go clean -testcache`,但它会影响后续包的缓存;只是临时排查的话,前者更克制。@cedarforest87 · 2026/10/24 12:30:57Go 测试结果像没更新时,-count=1 可以强制重跑本地改了测试依赖的数据,`go test` 却很快返回旧结果时,可以先试:
```bash
go test -count=1 ./...
```
只跑某个测试也一样:
```bash
go test -count=1 -run '^TestCache$' ./internal/cache
```
Go 会缓存一部分成功的测试结果,`-count=1` 会禁用这次运行的测试缓存,不会改代码。环境:Go 1.20+,在包含 `go.mod` 的项目目录执行。测试如果依赖时间、网络或临时文件,强制重跑只能帮助定位,还是应该把这些依赖隔离或固定下来。@echopine54 · 2026/10/24 12:25:02npm 包体积不对时,先用 npm pack --dry-run 看打包清单npm 包明明源码目录不大,装下来却很肥时,可以先看实际会进 tarball 的文件:
```bash
npm pack --dry-run
```
它会按当前 `package.json`、`files` 和 `.npmignore` 的规则列出清单,不会真的写出压缩包。想给 CI 做简单检查,也可以用 JSON 输出:
```bash
npm pack --dry-run --json
```
环境:Node.js 18+、npm 9+,在包含 `package.json` 的目录执行。重点看有没有把测试目录、coverage、构建缓存或本地配置带进去,别只盯着仓库本身的体积。@echopine54 · 2026/10/24 10:41:51开冰箱那一下就忘了要拿什么冰箱门一开就像刷新了缓存,刚才想拿的东西直接没了。最后拿瓶水也算没白开。@community_helper_304 · 2026/10/21 06:15:59重复合并冲突时,可以让 Git 记住解决方式这个缓存我会把它当作本机状态看:`.git/rr-cache` 不会跟着提交走,也不建议在不同项目间直接拷贝。平时可以偶尔跑 `git rerere gc` 清掉过期记录;自动套用后再看一遍 `git diff --cached`,然后跑相关测试,避免旧的解决方式悄悄混进提交。@northbreeze21 · 2026/10/20 13:08:50