Vercel: Модуль не найден

Вопрос или проблема

У меня возникла проблема, когда ошибка заявила, что модули react-redux и react-hot-toast не найдены. Я уже установил их и все еще имею ту же проблему. Пожалуйста, помогите (-3-)

ОШИБКИ

[09:18:19.997] 153 пакета ищут финансирование
[09:18:19.997]   выполните `npm fund`, чтобы получить подробности
[09:18:20.020] Обнаружена версия Next.js: 15.0.2
[09:18:20.024] Запуск "npm run build"
[09:18:20.555] 
[09:18:20.557] > [email protected] build
[09:18:20.560] > next build
[09:18:20.562] 
[09:18:21.278] Внимание: Next.js теперь собирает полностью анонимную телеметрию по использованию.
[09:18:21.278] Эта информация используется для формирования дорожной карты Next.js и приоритизации функций.
[09:18:21.278] Вы можете узнать больше, в том числе о том, как отказаться от участия в этой анонимной программе, посетив следующий URL:
[09:18:21.279] https://nextjs.org/telemetry
[09:18:21.279] 
[09:18:21.339]    ▲ Next.js 15.0.2
[09:18:21.340]    - Среда: .env
[09:18:21.340] 
[09:18:21.418]    Создание оптимизированной производственной сборки ...
[09:18:52.597] Сборка не удалась.
[09:18:52.598] 
[09:18:52.598] ./app/Provider.tsx
[09:18:52.598] Модуль не найден: Не удалось разрешить 'react-redux'
[09:18:52.598] 
[09:18:52.598] https://nextjs.org/docs/messages/module-not-found
[09:18:52.598] 
[09:18:52.598] Трассировка импорта для запрашиваемого модуля:
[09:18:52.598] ./app/layout.tsx
[09:18:52.599] 
[09:18:52.599] ./app/components/Admin/Course/AllCourses.tsx
[09:18:52.599] Модуль не найден: Не удалось разрешить 'react-hot-toast'
[09:18:52.599] 
[09:18:52.599] https://nextjs.org/docs/messages/module-not-found
[09:18:52.599] 
[09:18:52.599] ./app/components/Admin/Course/CourseContent.tsx
[09:18:52.599] Модуль не найден: Не удалось разрешить 'react-hot-toast'
[09:18:52.599] 
[09:18:52.599] https://nextjs.org/docs/messages/module-not-found
[09:18:52.599] 
[09:18:52.599] Трассировка импорта для запрашиваемого модуля:
[09:18:52.600] ./app/components/Admin/Course/EditCourse.tsx
[09:18:52.600] ./app/admin/edit-course/[id]/page.tsx
[09:18:52.600] 
[09:18:52.600] ./app/components/Admin/Course/CourseData.tsx
[09:18:52.600] Модуль не найден: Не удалось разрешить 'react-hot-toast'
[09:18:52.600] 
[09:18:52.600] https://nextjs.org/docs/messages/module-not-found
[09:18:52.600] 
[09:18:52.600] Трассировка импорта для запрашиваемого модуля:
[09:18:52.600] ./app/components/Admin/Course/EditCourse.tsx
[09:18:52.600] ./app/admin/edit-course/[id]/page.tsx
[09:18:52.600] 
[09:18:52.600] ./app/components/Admin/Course/CreateCourse.tsx
[09:18:52.600] Модуль не найден: Не удалось разрешить 'react-hot-toast'
[09:18:52.601] 
[09:18:52.601] https://nextjs.org/docs/messages/module-not-found
[09:18:52.601] 
[09:18:52.601] Трассировка импорта для запрашиваемого модуля:
[09:18:52.601] ./app/admin/create-course/page.tsx
[09:18:52.601] 
[09:18:52.616] 
[09:18:52.616] > Сборка не удалась из-за ошибок webpack
[09:18:52.644] Ошибка: Команда "npm run build" завершилась с кодом 1
[09:18:53.011] 

package.json

    {
  "name": "client",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "next start",
    "lint": "next lint"
  },
  "dependencies": {
    "@mui/icons-material": "^6.1.6",
    "@mui/x-data-grid": "^7.22.2",
    "@stripe/react-stripe-js": "^2.8.1",
    "@stripe/stripe-js": "^4.9.0",
    "axios": "^1.7.7",
    "next": "^15.0.2",
    "next-auth": "^4.24.10",
    "next-themes": "^0.4.3",
    "react": "^18.2.0",
    "react-dom": "^18.2.0",
    "react-hot-toast": "^2.4.1",
    "react-icons": "^5.3.0",
    "react-pro-sidebar": "^0.7.1",
    "react-redux": "^9.1.2",
    "recharts": "^2.13.3",
    "socket.io-client": "^4.8.1",
    "stripe": "^17.3.1",
    "timeago.js": "^4.0.2"
  },
  "devDependencies": {
    "@types/node": "^20",
    "@types/react": "^18",
    "@types/react-dom": "^18",
    "eslint": "^8",
    "eslint-config-next": "15.0.2",
    "postcss": "^8",
    "tailwindcss": "^3.4.1",
    "typescript": "^5"
  }
}

Provider.tsx

import React from "react"
import { Provider } from "react-redux"
import { store } from "../redux/store"

interface ProviderProps {
    children: any;
}

export function Providers({ children }: ProviderProps) {
    return <Provider store={store}>{children}</Provider>
}
  • я уже установил последнюю версию react-redux и react-hot-toast.
  • я уже использовал git config core.ignorecase false

Ответ или решение

Ошибка "Модуль не найден" в Vercel: React-Redux и React-Hot-Toast

Вас, вероятно, беспокоит ошибка "Module not found" при попытке сборки вашего проекта на платформе Vercel. Эта ошибка возникает, когда компилятор не может найти модули react-redux и react-hot-toast, даже если вы уверены, что они установлены. В этом руководстве мы рассмотрим возможные причины этой проблемы и предложим шаги для ее решения.

1. Проверка зависимостей

Исходя из вашего файла package.json, видно, что модули react-redux и react-hot-toast действительно перечислены в секции dependencies. Однако необходимо убедиться, что они корректно установлены. Выполните следующую команду в каталоге вашего проекта:

npm install

Эта команда гарантирует, что все зависимости из package.json будут установлены.

2. Чистка кэша и перестройка проекта

Иногда проблемы с кэшем могут вызывать ошибки. Попробуйте выполнить следующие команды для очистки кэша и перестройки приложения:

npm cache clean --force
rm -rf node_modules
rm package-lock.json
npm install

После этих действий попробуйте еще раз запустить команду сборки:

npm run build

3. Проверка структуры файловой системы

Ошибки могут возникать из-за путаницы в регистрах имен файлов, особенно на системах, которые являются чувствительными к регистру (например, Linux). Убедитесь, что вы используете правильные имена файлов и папок, особенно если они содержат заглавные буквы.

Для начала проверьте файл Provider.tsx. В нем вы импортируете Provider из react-redux. Убедитесь, что путь к этому модулю корректен и что у вас нет опечаток в путях импорта:

import { Provider } from 'react-redux';

4. Обновление Next.js и сопутствующих зависимостей

Вы используете версию Next.js 15.0.2, которая может иметь некоторые проблемы совместимости с новыми версиями библиотек. Попробуйте обновить Next.js и связанные библиотеки до более стабильной версии:

npm install next@latest react@latest react-dom@latest

После этого, проверьте существующие зависимости и убедитесь, что они соответствуют актуальным версиям библиотек.

5. Настройка Vercel

Если все вышеперечисленные шаги не помогли, проблема может заключаться в настройках Vercel. Убедитесь, что на Vercel указана правильная версия Node.js, совместимая с вашим проектом. Это можно сделать через настройки проекта на Vercel.

Также, если вы используете .env файлы для настройки, убедитесь, что они корректно настроены и загружены на Vercel.

6. Вводные данные для дальнейшей диагностики

Если ошибка продолжает возникать, рекомендуется собрать больше информации о проблеме:

  • Запустите npm run build локально, чтобы увидеть, воспроизводится ли ошибка в локальной среде.
  • Проверьте конфигурационные файлы, такие как .babelrc, next.config.js, и убедитесь, что они не содержат ошибок.

Заключение

Ошибки "Module not found" в Vercel могут быть вызваны множеством факторов, от неправильно установленных зависимостей до ошибок в структуре каталога. Следуя указанным шагам, вы сможете диагностировать и решить вашу проблему. Если после всех попыток ошибка не устраняется, рассмотрите возможность создания нового вопроса с полным описанием вашего состояния и хода действий на платформах типа Stack Overflow или GitHub для более детальной помощи.

Если у вас остались вопросы, не стесняйтесь обращаться за помощью. Успехов в разработке!

Оцените материал
Добавить комментарий

Капча загружается...