Say*_*man 5 node.js npm docker next.js
是否使用 docker-compose up 来构建我的项目,但出了问题,我收到此错误:
node:internal/errors:464
ErrorCaptureStackTrace(err);
^
Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './lib/parser' is not defined by "exports" in /usr/app/node_modules/postcss/package.json
at new NodeError (node:internal/errors:371:5)
at throwExportsNotFound (node:internal/modules/esm/resolve:429:9)
at packageExportsResolve (node:internal/modules/esm/resolve:703:3)
at resolveExports (node:internal/modules/cjs/loader:482:36)
at Function.Module._findPath (node:internal/modules/cjs/loader:522:31)
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:919:27)
at Function.Module._load (node:internal/modules/cjs/loader:778:27)
at Module.require (node:internal/modules/cjs/loader:999:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object.552 (/usr/app/node_modules/next/dist/compiled/postcss-scss/scss-syntax.js:1:11590)
at __nccwpck_require__ (/usr/app/node_modules/next/dist/compiled/postcss-scss/scss-syntax.js:1:11735)
at Object.270 (/usr/app/node_modules/next/dist/compiled/postcss-scss/scss-syntax.js:1:400)
at __nccwpck_require__ (/usr/app/node_modules/next/dist/compiled/postcss-scss/scss-syntax.js:1:11735)
at Object.327 (/usr/app/node_modules/next/dist/compiled/postcss-scss/scss-syntax.js:1:260)
at __nccwpck_require__ (/usr/app/node_modules/next/dist/compiled/postcss-scss/scss-syntax.js:1:11735)
at Object.845 (/usr/app/node_modules/next/dist/compiled/postcss-scss/scss-syntax.js:1:3733) {
code: 'ERR_PACKAGE_PATH_NOT_EXPORTED'
}
Node.js v17.4.0
Service 'nextjs' failed to build : The command '/bin/sh -c npm run build' returned a non-zero code: 1
Run Code Online (Sandbox Code Playgroud)
这是我的 Dockerfile
FROM node:alpine
# Set working directory
WORKDIR /usr/app
# Install PM2 globally
RUN npm install --global pm2
# Copy "package.json" and "package-lock.json" before other files
# Utilise Docker cache to save re-installing dependencies if unchanged
COPY ./package*.json ./
# Install dependencies
RUN npm install --production
# Copy all files
COPY ./ ./
# Build app
RUN npm run build
# Expose the listening port
EXPOSE 3000
# Run container as non-root (unprivileged) user
# The "node" user is provided in the Node.js Alpine base image
USER node
# Launch app with PM2
CMD [ "pm2-runtime", "start", "npm", "--", "start" ]
Run Code Online (Sandbox Code Playgroud)
这是我的 package.json:
{
"name": "nextjs",
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start"
},
"dependencies": {
"next": "^10.0.6",
"react": "17.0.1",
"react-dom": "17.0.1"
}
}
Run Code Online (Sandbox Code Playgroud)
尝试删除我的node_modules文件夹并重新安装,但它不起作用。什么使用了 post/css 包?错误是由于节点版本造成的吗?如果是这样,我应该在 Dockerfile 中使用哪个 alpine 版本?
小智 -1
我想迟到了,但我有解决方案。我遇到了和你在这条线上遇到的同样的问题
import { useState } from "react/cjs/react.production.min";
Run Code Online (Sandbox Code Playgroud)
你应该尝试这个
import {useState} from 'react'
Run Code Online (Sandbox Code Playgroud)
直接地
归档时间: |
|
查看次数: |
2243 次 |
最近记录: |