#node.js #reactjs #npm #node-modules
Вопрос:
Я получаю ошибки при попытке запустить npm install
приложение node/react, разработку которого я беру на себя.
Я не пытаюсь устанавливать какие-либо пакеты глобально. Я нахожусь на Macbook Pro M1 под управлением Big Sur. Я сделал новую установку node и npm с Homebrew. Я также попытался удалить package-lock.json
файл, очистить кэш npm и добавить файл .npmignore в каталог, как предлагали некоторые другие сообщения; ни одно из них не сработало.
Вот результат, когда я запускаю npm install
MacBook-Pro-2 frontend % npm install
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving: [my project name]-dashboard@0.1.0
npm ERR! Found: webpack@5.39.0
npm ERR! node_modules/webpack
npm ERR! webpack@"5.39.0" from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer webpack@"^4.0.0" from optimize-css-assets-webpack-plugin@6.0.0
npm ERR! node_modules/optimize-css-assets-webpack-plugin
npm ERR! optimize-css-assets-webpack-plugin@"6.0.0" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force, or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR! See /Users/<name>/.npm/eresolve-report.txt for a full report.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/<name>/.npm/_logs/2021-06-15T17_41_19_910Z-debug.log
Я попытался запустить npm install --legacy-peer-deps
, что вызывает немного другую ошибку:
MacBook-Pro-2 frontend % npm install --legacy-peer-deps
npm WARN deprecated @hapi/topo@3.1.6: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated @hapi/pinpoint@1.0.2: Moved to 'npm install @sideway/pinpoint'
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated @hapi/formula@1.2.0: Moved to 'npm install @sideway/formula'
npm WARN deprecated topojson@3.0.2: Use topojson-client, topojson-server or topojson-simplify directly.
npm WARN deprecated @hapi/address@2.1.4: Moved to 'npm install @sideway/address'
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated @hapi/hoek@8.5.1: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated @hapi/joi@16.1.8: Switch to 'npm install joi'
npm ERR! code ENOENT
npm ERR! syscall chmod
npm ERR! path /Users/<name>/Developer/<directory>/frontend/node_modules/topojson/node_modules/topojson-simplify/bin/toposimplify
npm ERR! errno -2
npm ERR! enoent ENOENT: no such file or directory, chmod '/Users/<name>/Developer/<directory>/frontend/node_modules/topojson/node_modules/topojson-simplify/bin/toposimplify'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/<name>/.npm/_logs/2021-06-15T17_41_57_785Z-debug.log
Комментарии:
1. Можете ли вы отправить посылку.json?
Ответ №1:
Я решил свою собственную проблему. Я думаю, что это распространенное сообщение об ошибке со многими потенциальными решениями; вот 2 вещи, которые я попробовал, которые исправили проблему для меня:
- Убедитесь, что у вас установлен postgresql (если ваш проект включает базу данных postgresql, как у меня). На mac с домашним пивом просто беги
brew install postgresql
. - Я также понизил свою версию Node.js до самой последней версии долгосрочной поддержки (ранее я использовал версию для разработчиков). На момент написания статьи версия LTS составляла 14.7.
После внесения этих изменений я смог правильно установить и запустить свой сайт.