Я пытаюсь развернуть приложение Next, js на героку с помощью CLI heroku. У меня возникает проблема ниже, когда я запускаю git push heroku master
. Вот файл package.json, который у меня есть в моей текущей настройке. Пожалуйста помоги. У меня есть поиск по этой проблеме, но я не могу найти ничего, связанного с ней. Я могу создать приложение next.js на своем локальном компьютере, но не могу развернуть его в героку.
{
"name": "XXXX-ecommerce",
"version": "0.1.0",
"engines": {
"node": "18.x",
"npm": "7.x"
},
"private": true,
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start",
"lint": "next lint",
"heroku-postbuild": "npm run build",
"test": "echo \"Error: no test specified\" && exit 1"
},
"dependencies": {
"@apollo/client": "^3.7.0",
"@nacelle/react-yotpo": "^8.0.0",
"axios": "^1.1.3",
"cookie": "^0.5.0",
"cookie-cutter": "^0.2.0",
"graphql": "^16.6.0",
"lodash": "^4.17.21",
"lodash.filter": "^4.6.0",
"lodash.uniqby": "^4.7.0",
"next": "12.3.1",
"react": "18.2.0",
"react-collapsible": "^2.10.0",
"react-dom": "18.2.0",
"react-rating": "^2.0.5",
"swiper": "^8.4.2"
},
"devDependencies": {
"eslint": "8.24.0",
"eslint-config-next": "12.3.1"
}
}
info - Creating an optimized production build...
Failed to compile.
./components/card.js
Module not found: Can't resolve 'lodash.uniqBy' in '/tmp/build_54073365/components'
Import trace for requested module:
./components/card.js
./components/productSlider.js
./pages/products/[id].js
Module not found: Can't resolve 'lodash.uniqBy' in
'/tmp/build_54073365/pages/products'
> Build failed because of webpack errors
-----> Build failed
We're sorry this build is failing! You can troubleshoot common issues here:
https://devcenter.heroku.com/articles/troubleshooting-node-deploys
If you're stuck, please submit a ticket so we can help:
https://help.heroku.com/
Love,
Heroku
! Push rejected, failed to compile Node.js app.
! Push failed
Привет. Да, в моем package.json есть lodash. Я обновил файл.
Имя пакета lodash.uniqby
(все строчные). Проверьте свой импорт, похоже, у вас есть uniqBy
(с большой буквы B) в одном из ваших компонентов. Это, вероятно, работало локально, потому что macOS и Windows имеют файловые системы, нечувствительные к регистру, поэтому это будет работать локально, но не при развертывании на машине под управлением Linux, как на Heroku.
Можете ли вы опубликовать полный package.json?
lodash.uniqBy
у тебя в депе?