NodeJS 如何在多阶段docker文件中使用pnpm和Next.js?

cigdeys3  于 2023-04-20  发布在  Node.js
关注(0)|答案(4)|浏览(378)

如果我将npm切换为pnpm,官方的Next.js Dockerfile示例将不起作用。
我应该如何修改Dockerfile,使其保持多级,但也使用pnpm而不是npm

xtfmy6hx

xtfmy6hx1#

另一种解决方案是使用npm安装pnpm。当您安装nodejs时,它附带npm作为默认包管理器。因此您可以使用以下命令npm install -g pnpm使用npm安装pnpm
在docker文件中,它将被写为:

RUN npm install -g pnpm
wz3gfoph

wz3gfoph2#

对我起作用的是以下几点:

FROM node:16-alpine AS base
RUN apk update && apk add --no-cache libc6-compat
RUN corepack enable && corepack prepare pnpm@7.4.1 --activate 
...

上面的代码假设您使用的是〉=Node 16.9或〉=Node 14.19;corepack命令built-in

0vvn1miw

0vvn1miw3#

我知道我有点晚了,但这对我很有效:

RUN apk add --no-cache curl \
    && curl -sL https://unpkg.com/@pnpm/self-installer | node
ibps3vxo

ibps3vxo4#

对我起作用的是以下几点:

FROM node:16.16.0-alpine3.16
RUN corepack enable
RUN corepack prepare pnpm@7.18.0 --activate

相关问题