本文介绍了将.cache文件夹文件路径从绝对路径更改为相对路径。有可能吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

来自我上一个问题Gatsby .cache folder in AWS Amplify Console,我发现AWS Amplify使用的Docker映像容器在每次构建时都会更改其路径,但.cache文件夹文件路径是绝对路径。是否可以将它们设置为相对于文件夹,以便可以跨构建分发.cache?对于这个糟糕的解释,我深表歉意,希望有人能理解...

推荐答案

尝试以下操作:

Buildspec.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目录最终将引发以下错误:

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

出于这个原因,创建一致的路径并将构件带到那里将解决问题。构建完成后,请确保将新构件带到CODEBUILD_SRC_DIR,以便下次可以缓存它们!

这篇关于将.cache文件夹文件路径从绝对路径更改为相对路径。有可能吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-18 23:04