You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS CodeBuild构建Eleventy时提示cmd.js文件不存在问题

解决AWS CodeBuild中Eleventy构建路径错误的问题

以下是几个可行的解决方案,按优先级尝试:

1. 直接调用本地Eleventy的cmd.js文件

替换npm脚本中的npx @11ty/eleventy为直接通过node执行本地安装的cmd.js,避免npx的路径解析问题:

  • 修改你的package.json中的build脚本:
    "scripts": {
      "build": "node node_modules/@11ty/eleventy/cmd.js"
    }
    
  • 对应的buildspec.yml无需额外修改,保持原有的npm run build命令即可。

2. 直接引用本地.bin目录下的Eleventy可执行文件

如果不想直接调用cmd.js,也可以直接引用本地安装的Eleventy二进制文件:

  • 修改package.json的build脚本:
    "scripts": {
      "build": "./node_modules/.bin/eleventy"
    }
    
  • 这个方式跳过npx的包查找逻辑,直接使用你已经安装在项目中的Eleventy版本。

3. 在CodeBuild中确认工作目录并清理缓存

如果上述方法无效,可能是缓存或工作目录匹配问题:

  • 修改buildspec.yml,添加缓存清理和工作目录确认步骤:
    version: 0.2
      
    phases:
      build:
        commands:
          - pwd  # 确认当前工作目录是否为项目根目录(需与node_modules同层级)
          - npm cache clean --force
          - npm install
          - ls node_modules/@11ty/eleventy
          - npm run build
    
  • 如果pwd输出的路径不是包含node_modules的目录,需在buildspec.yml中添加working_directory字段指定项目根路径:
    version: 0.2
    working_directory: /codebuild/output/src3281352166/src  # 替换为你的实际项目根路径
      
    phases:
      build:
        commands:
          - npm install
          - npm run build
    

4. 升级npm或Eleventy版本

旧版本的npm或Eleventy可能存在路径解析bug,尝试升级:

  • 在buildspec.yml中添加升级命令:
    version: 0.2
      
    phases:
      build:
        commands:
          - npm install -g npm@latest
          - npm install @11ty/eleventy@latest
          - npm run build
    

内容的提问来源于stack exchange,提问作者Joe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 07:22:11