Развертывание Vercel выдает «Ошибку: не удается найти модуль ‘@next/env'».

#next.js #environment-variables #web-deployment #vercel

#next.js #переменные среды #веб-развертывание #vercel

Вопрос:

Я так долго пытался отладить эту ошибку… Снимок экрана из Vercel У меня в корневом каталоге есть файл .env. Я совершенно новичок в веб-развертывании, поэтому я тоже не был совсем уверен в том, что помещать в файл .env. Каталог, на который указывает сообщение об ошибке /vercel/path0/node_modules/next-sitemap/bin/next-sitemap Vercel, даже не является каталогом в моей корневой папке для этого проекта.

ИЗМЕНИТЬ: Это файловая структура проекта. Структура файла

EDIT2: Файл package.json

 "name": "landing-page",  "version": "0.0.1",  "private": true,  "scripts": {  "dev": "next dev",  "build": "next build amp;amp; next export",  "postbuild": "next-sitemap"  },  "dependencies": {  "@next/bundle-analyzer": "^12.0.7",  "dotenv": "^8.6.0",  "file-loader": "^6.2.0",  "framer-motion": "^2.7.5",  "globby": "^11.0.0",  "isomorphic-unfetch": "^3.0.0",  "next": "9.5.3",  "next-compose-plugins": "^2.2.0",  "next-optimized-images": "^2.5.4",  "npm": "^8.2.0",  "prettier": "^2.1.2",  "rc-drawer": "^4.1.0",  "react": "16.13.0",  "react-custom-scrollbars": "^4.2.1",  "react-dom": "16.13.0",  "react-ga": "^3.1.2",  "react-icons": "^3.10.0",  "react-modal-video": "^1.2.6",  "react-multi-carousel": "^2.5.5",  "react-scroll": "^1.8.0",  "react-stickynode": "^3.0.3",  "theme-ui": "^0.3.1",  "typeface-dm-sans": "^1.1.3",  "webpack": "^4.46.0"  },  "devDependencies": {  "imagemin-mozjpeg": "^9.0.0",  "imagemin-optipng": "^8.0.0",  "imagemin-svgo": "^8.0.0",  "next-sitemap": "^1.6.203",  "webpack-cli": "^4.9.1"  } }  

Комментарии:

1. Пожалуйста, покажите структуру проекта вашей папки и файла,; -)

2. что вы используете yarn или npm?

3. @MarioG8 Извините, я новичок в том, чтобы делиться информацией о переполнении стека. Я использую npm и даже отменил приглашение на сборку в Vercel на «npm запустить сборку». Проблема в том, что запуск npm run build на локальном компьютере выдает ту же ошибку в другом каталоге (next вместо vercel).

4. @MarioG8 Я добавил скриншот своей файловой структуры

5. какую версию next вы используете?

Ответ №1:

В вашем проекте нет package-lock.json файла. Это, скорее всего, вызывает error .

  1. Удалите node_modules каталог из корневого каталога проекта. Ниже приведен пример того, как должен выглядеть проект.

введите описание изображения здесь

  1. Беги npm install еще раз.
  2. Теперь у вас должен быть package-lock.json файл в корневом каталоге проекта.
  3. Попробуйте deploy свое приложение без каких-либо проблем.

Комментарии:

1. О, мне так жаль, у него действительно есть блокировка пакетов.json. Это просто не было включено в скриншот. Я не понял, что он был отключен, мои извинения. Тем не менее, спасибо за подробный ответ!