【发布时间】:2022-07-08 03:46:56
【问题描述】:
我正在尝试从我的 sveltekit 应用程序中获取一个 docker 容器。 我在我的 svelte.config.js 中使用节点适配器
import adapter from '@sveltejs/adapter-node'
adapter: adapter(),
我的 Dockerfile 看起来像这样。
FROM node:16-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . ./
RUN npm run build
EXPOSE 3000
CMD [ "node", "build" ]
启动容器时出现此错误:
node:internal/errors:464
2022-03-02T09:51:03.597044200Z ErrorCaptureStackTrace(err);
2022-03-02T09:51:03.597088700Z ^
2022-03-02T09:51:03.597100400Z
2022-03-02T09:51:03.597116300Z Error [ERR_MODULE_NOT_FOUND]: Cannot find module '/app/build/server/index.js' imported from /app/build/index.js
2022-03-02T09:51:03.597144200Z at new NodeError (node:internal/errors:371:5)
2022-03-02T09:51:03.597193600Z at finalizeResolution (node:internal/modules/esm/resolve:418:11)
2022-03-02T09:51:03.597270100Z at moduleResolve (node:internal/modules/esm/resolve:981:10)
2022-03-02T09:51:03.597285100Z at defaultResolve (node:internal/modules/esm/resolve:1078:11)
2022-03-02T09:51:03.597298100Z at ESMLoader.resolve (node:internal/modules/esm/loader:530:30)
2022-03-02T09:51:03.597311100Z at ESMLoader.getModuleJob (node:internal/modules/esm/loader:251:18)
2022-03-02T09:51:03.597324900Z at ModuleWrap.<anonymous> (node:internal/modules/esm/module_job:79:40)
2022-03-02T09:51:03.597336000Z at link (node:internal/modules/esm/module_job:78:36) {
2022-03-02T09:51:03.597345300Z code: 'ERR_MODULE_NOT_FOUND'
2022-03-02T09:51:03.597359500Z }
【问题讨论】:
-
你能发布你已经安装的@sveltejs/adapter-node 和@sveltejs/kit 的版本吗?您可能正在使用不兼容的版本。
-
为什么
COPY . ./在RUN npm install之后? (将“node_modules”添加到 .dockerignore) -
您找到解决方案了吗?我也面临同样的问题
标签: node.js docker svelte sveltekit