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
相关产品推荐
相关产品推荐

