如果我将npm切换为pnpm,官方的Next.js Dockerfile示例将不起作用。我应该如何修改Dockerfile,使其保持多级,但也使用pnpm而不是npm?
npm
pnpm
xtfmy6hx1#
另一种解决方案是使用npm安装pnpm。当您安装nodejs时,它附带npm作为默认包管理器。因此您可以使用以下命令npm install -g pnpm使用npm安装pnpm在docker文件中,它将被写为:
npm install -g pnpm
RUN npm install -g pnpm
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。
corepack
0vvn1miw3#
我知道我有点晚了,但这对我很有效:
RUN apk add --no-cache curl \ && curl -sL https://unpkg.com/@pnpm/self-installer | node
ibps3vxo4#
FROM node:16.16.0-alpine3.16 RUN corepack enable RUN corepack prepare pnpm@7.18.0 --activate
4条答案
按热度按时间xtfmy6hx1#
另一种解决方案是使用npm安装pnpm。当您安装nodejs时,它附带npm作为默认包管理器。因此您可以使用以下命令
npm install -g pnpm
使用npm安装pnpm在docker文件中,它将被写为:
wz3gfoph2#
对我起作用的是以下几点:
上面的代码假设您使用的是〉=Node 16.9或〉=Node 14.19;
corepack
命令built-in。0vvn1miw3#
我知道我有点晚了,但这对我很有效:
ibps3vxo4#
对我起作用的是以下几点: