将 .cache 文件夹文件路径从绝对路径更改为相对路径。是否可以?

2024-01-10

来自我之前的问题AWS Amplify 控制台中的 Gatsby .cache 文件夹 https://stackoverflow.com/questions/57025169/gatsby-cache-folder-in-aws-amplify-console我发现 AWS Amplify 使用的 docker 映像容器在每次构建时都会更改其路径,但 .cache 文件夹文件路径是绝对的。是否可以使它们相对于文件夹,以便 .cache 可以跨构建分布?抱歉,我的解释不好,希望有人能理解......


请尝试以下操作:

构建规范.yml

version: 0.2

phases:
  pre_build:
    commands:
      - mkdir -p /build-directory
      - cp -a ${CODEBUILD_SRC_DIR}/. /build-directory
      - cd /build-directory
      - yarn
  build:
    commands:
      - cd /build-directory
      - gatsby build
  post_build:
    commands:
      - cd /build-directory
      - cp -a /build-directory/. ${CODEBUILD_SRC_DIR}
cache:
  paths:
    - 'node_modules/**/*'
    - 'public/**/*'
    - '.cache/**/*'

截至撰写本文时,还没有一个简洁的解决方案。缓存整个.cache目录最终会抛出以下错误:

无法处理图像/codebuild/output/src***/src/project/.cache/gatsby-source-filesystem//.png 输入文件丢失

Gatsby 假设绝对路径.cache构建之间是一致的。这与 CodeBuild 不太兼容,因为每次构建的构建目录都会发生变化。因此,Gatsby 无法找到缓存的文件并引发错误。

因此,创建一致的路径并将工件带到那里将解决该问题。构建完成后,请务必将新工件带到CODEBUILD_SRC_DIR以便下次可以缓存它们!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 .cache 文件夹文件路径从绝对路径更改为相对路径。是否可以? 的相关文章

随机推荐