Erorile la npm install pot bloca complet dezvoltarea. Acest ghid acoperă toate erorile comune npm și soluțiile lor.
Eroare: ERESOLVE - Conflict de Dependențe
Simptom:
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR! While resolving: some-package@1.0.0
npm ERR! Found: react@18.2.0
npm ERR! Could not resolve dependency:
npm ERR! peer react@"^17.0.0" from another-package@2.0.0
Soluția 1 - Instalare forțată (rezolvare rapidă):
# Ignoră verificările peer dependency
npm install --legacy-peer-deps
# Sau forțează prin conflicte
npm install --forceSoluția 2 - Folosește overrides (package.json):
{
"overrides": {
"react": "^18.2.0",
"react-dom": "^18.2.0"
}
}Soluția 3 - Actualizează pachetele conflictuale:
# Găsește pachetele învechite
npm outdated
# Actualizează un pachet specific
npm update another-package
# Verifică versiunile mai noi compatibile
npm view another-package versionsEroare: EACCES - Permisiune Refuzată
Simptom:
npm ERR! code EACCES
npm ERR! syscall access
npm ERR! path /usr/local/lib/node_modules
npm ERR! Error: EACCES: permission denied
Soluția 1 - Corectează prefixul npm (recomandat):
# Creează directorul global npm în home
mkdir -p ~/.npm-global
npm config set prefix '~/.npm-global'
# Adaugă în PATH (~/.bashrc sau ~/.zshrc)
export PATH=~/.npm-global/bin:$PATH
# Reîncarcă shell-ul
source ~/.bashrcSoluția 2 - Corectează ownership-ul:
# Corectează permisiunile cache npm
sudo chown -R $(whoami) ~/.npm
# Corectează permisiunile node_modules
sudo chown -R $(whoami) /usr/local/lib/node_modulesSoluția 3 - Folosește nvm (cea mai bună soluție):
# Instalează nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
# Instalează Node prin nvm (fără sudo)
nvm install 20
nvm use 20Eroare: ENOENT - Fișier Negăsit
Simptom:
npm ERR! code ENOENT
npm ERR! syscall open
npm ERR! path /project/package.json
npm ERR! enoent ENOENT: no such file or directory
Soluția 1 - Verifică directorul curent:
# Verifică directorul curent
pwd
# Verifică dacă package.json există
ls -la package.json
# Inițializează dacă lipsește
npm init -ySoluția 2 - Curăță cache-ul și reinstalează:
# Curăță cache-ul npm
npm cache clean --force
# Șterge node_modules și fișierul lock
rm -rf node_modules package-lock.json
# Reinstalează
npm installSoluția 3 - Repară package-lock.json corupt:
# Șterge și regenerează fișierul lock
rm package-lock.json
npm install
# Sau folosește npm ci pentru medii CI
npm ciEroare: node-gyp Build Eșuat
Simptom:
npm ERR! code 1
npm ERR! gyp ERR! build error
npm ERR! node-gyp rebuild
npm ERR! gyp: No Xcode or CLT version detected!
Soluția 1 - Instalează build tools (macOS):
# Instalează Xcode Command Line Tools
xcode-select --installSoluția 2 - Instalează build tools (Windows):
# Rulează PowerShell ca Administrator
npm install --global windows-build-tools
# Sau instalează manual Visual Studio Build Tools
# https://visualstudio.microsoft.com/visual-cpp-build-tools/Soluția 3 - Instalează build tools (Linux):
# Ubuntu/Debian
sudo apt-get install build-essential python3
# CentOS/RHEL
sudo yum groupinstall "Development Tools"
sudo yum install python3Soluția 4 - Specifică versiunea Python:
# Dacă ai mai multe versiuni Python instalate
npm config set python /usr/bin/python3
# Sau setează per proiect
npm install --python=/usr/bin/python3Eroare: Probleme de Rețea / Registry
Simptom:
npm ERR! code ETIMEDOUT
npm ERR! network request to https://registry.npmjs.org/ failed
npm ERR! code ECONNRESET
npm ERR! network socket hang up
Soluția 1 - Folosește un registry diferit:
# Folosește un mirror npm
npm config set registry https://registry.npmmirror.com
# Resetează la valoarea implicită
npm config set registry https://registry.npmjs.org
# Verifică registry-ul curent
npm config get registrySoluția 2 - Configurează proxy:
# HTTP proxy
npm config set proxy http://proxy.company.com:8080
npm config set https-proxy http://proxy.company.com:8080
# Șterge proxy
npm config delete proxy
npm config delete https-proxySoluția 3 - Crește timeout-ul:
npm config set fetch-timeout 60000
npm config set fetch-retries 5Eroare: EINTEGRITY - Checksum Nepotrivit
Simptom:
npm ERR! code EINTEGRITY
npm ERR! sha512-xxxx integrity checksum failed
npm ERR! Verification failed while extracting package
Soluția 1 - Curăță cache-ul și reinstalează:
# Curăță cache-ul
npm cache clean --force
# Șterge fișierul lock și node_modules
rm -rf node_modules package-lock.json
# Reinstalează
npm installSoluția 2 - Verifică registry-ul npm:
# Verifică dacă registry-ul e corect
npm config get registry
# Resetează registry-ul
npm config set registry https://registry.npmjs.orgEroare: Maximum Call Stack Size Exceeded
Simptom:
npm ERR! Maximum call stack size exceeded
RangeError: Maximum call stack size exceeded
Soluție - Curăță și reinstalează:
# Curățare completă
rm -rf node_modules package-lock.json ~/.npm/_cacache
# Actualizează npm
npm install -g npm@latest
# Instalează cu cache curat
npm cache clean --force
npm installEroare: Unsupported Engine
Simptom:
npm WARN EBADENGINE Unsupported engine
npm WARN EBADENGINE current: { node: '16.0.0', npm: '8.0.0' }
npm WARN EBADENGINE required: { node: '>=18.0.0' }
Soluția 1 - Actualizează Node.js:
# Folosind nvm
nvm install 20
nvm use 20
# Verifică versiunea
node --versionSoluția 2 - Ignoră verificarea engine (temporar):
npm install --ignore-enginesSoluția 3 - Setează engines în package.json:
{
"engines": {
"node": ">=18.0.0",
"npm": ">=9.0.0"
}
}Eroare: Cannot Find Module
Simptom:
Error: Cannot find module 'some-package'
MODULE_NOT_FOUND
Soluția 1 - Reinstalează dependențele:
rm -rf node_modules
npm installSoluția 2 - Verifică instalarea:
# Verifică dacă pachetul e instalat
npm ls some-package
# Instalează pachetul lipsă
npm install some-packageSoluția 3 - Verifică calea de import:
// ❌ Import greșit
import something from 'Some-Package'; // Case matters!
// ✅ Import corect
import something from 'some-package';npm vs yarn vs pnpm
| Problemă | npm | yarn | pnpm |
|----------|-----|------|------|
| Peer deps | --legacy-peer-deps | --ignore-peer-deps | --ignore-peer-deps |
| Instalare curată | npm ci | yarn install --frozen-lockfile | pnpm install --frozen-lockfile |
| Curățare cache | npm cache clean --force | yarn cache clean | pnpm store prune |
| Cale globală | Set prefix | Set prefix | Set global-bin-dir |
Checklist Rapid de Depanare
# 1. Verifică versiunea Node/npm
node --version
npm --version
# 2. Verifică configurația npm
npm config list
# 3. Curăță tot
npm cache clean --force
rm -rf node_modules package-lock.json
# 4. Reinstalează
npm install
# 5. Output verbose dacă tot nu merge
npm install --verbose 2>&1 | tee npm-debug.logProbleme Complexe cu npm?
Gestionarea pachetelor la scară mare necesită management atent al dependențelor. Echipa noastră te poate ajuta cu:
- Configurare și optimizare monorepo
- Configurare registry privat
- Optimizarea performanței de build
- Remedierea vulnerabilităților de securitate
Sistemul tau AI e conform cu EU AI Act? Evaluare gratuita de risc - afla in 2 minute →