heroku/buildpack-nodejsHeroku Node.js Cloud Native Buildpack 是 Heroku 官方提供的 Cloud Native Buildpack(CNB)实现,专为构建 Node.js 应用程序设计。该 Buildpack 符合 Cloud Native Buildpacks 规范,能够自动检测 Node.js 应用结构,处理依赖管理、构建流程及环境配置,简化从源代码到容器镜像的构建过程,适用于各类 Node.js 应用的容器化构建场景。
package.json 文件,自动检测 Node.js 应用类型。package-lock.json/yarn.lock/pnpm-lock.yaml)选择对应工具。npm install/yarn install/pnpm install 安装依赖,并支持依赖缓存以加速重复构建。.nvmrc/.node-version 文件指定 Node.js 版本,确保构建环境一致性。build 脚本(若 package.json 中定义),完成应用编译(如 TypeScript 转译、前端资源打包等)。准备 Node.js 项目
确保项目根目录包含 package.json 文件,示例项目结构:
my-node-app/ ├── package.json └── index.js
构建容器镜像
使用 pack 命令结合 Heroku Node.js Buildpack 构建镜像:
bash# 使用 Heroku 官方 builder(包含 Node.js 等多个 Buildpack) pack build my-node-app \ --builder heroku/buildpacks:20 \ --path ./my-node-app
或直接指定 Node.js Buildpack(需配合基础 builder):
bashpack build my-node-app \ --builder paketobuildpacks/builder:base \ --buildpack heroku/nodejs \ --path ./my-node-app
运行构建后的镜像
构建完成后,通过 Docker 运行镜像:
bashdocker run -p 3000:3000 my-node-app
通过 --env 或项目内 .env 文件设置环境变量,常用配置如下:
| 环境变量 | 说明 |
|---|---|
NODE_VERSION | 指定 Node.js 版本,如 18.x、20.10.0(优先级:环境变量 > .nvmrc/.node-version) |
NODE_ENV | 构建/运行环境标识,如 production(默认 development,生产环境建议设为 production) |
NPM_CONFIG_* | npm 配置参数,如 NPM_CONFIG_REGISTRY=[***] 指定 npm 源 |
YARN_VERSION | 指定 Yarn 版本,如 1.22.19(仅当使用 yarn 时生效) |
PNPM_VERSION | 指定 pnpm 版本,如 8.15.0(仅当使用 pnpm 时生效) |
推荐通过以下方式锁定 Node.js 版本,确保构建一致性:
.nvmrc 文件:
20.10.0
.node-version 文件:
20.10.0


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务