Webpack – webpack-dev-server: comando non trovato

Sto lavorando a una webapp React usando il webpack, liberamente insieme a questo tutorial .

Per inciso, ho aggiunto la cartella node_modules al mio git. L’ho rimosso di nuovo usando git rm -f node_modules/* .

Ora, quando provo ad avviare il server webpack, ottengo il seguente errore:

 > webpack-dev-server -d --config webpack.dev.config.js --content-base public/ --progress --colors sh: webpack-dev-server: command not found npm ERR! Darwin 14.4.0 npm ERR! argv "node" "/usr/local/bin/npm" "run" "devserve" npm ERR! node v0.12.4 npm ERR! npm v2.10.1 npm ERR! file sh npm ERR! code ELIFECYCLE npm ERR! errno ENOENT npm ERR! syscall spawn npm ERR! [email protected] devserve: `webpack-dev-server -d --config webpack.dev.config.js --content-base public/ --progress --colors` npm ERR! spawn ENOENT 

All’inizio pensavo fosse solo il mio progetto, ma poi ho controllato i checkpoint del codice del tutorial: lo stesso errore! Quindi qualcosa sembra essere incasinato a livello globale.

Ecco cosa ho provato finora:

  • rm node_modules e reinstallare con npm install
  • npm cache clean come qualcuno ha menzionato riguardo a questo problema su github
  • installa il npm install -g webpack globalmente con npm install -g webpack
  • eliminare completamente il nodo e il npm dal mio sistema (usando questa guida ) e reinstallarlo usando brew

Il messaggio di errore persiste ancora. Cos’altro posso provare?

PS: il contenuto di webpack.dev.config.js è:

 var config = require('./webpack.config.js'); var webpack = require('webpack'); config.plugins.push( new webpack.DefinePlugin({ "process.env": { "NODE_ENV": JSON.stringify("development") } }) ); module.exports = config; 

Ok, è stato facile:

 npm install webpack-dev-server -g 

Ciò che mi ha confuso di non averne bisogno all’inizio, probabilmente le cose sono cambiate con una nuova versione.

Per tua informazione, per accedere a qualsiasi script tramite la riga di comando come stavi cercando, devi avere lo script registrato come script di shell (o qualsiasi tipo di script come .js, .rb) nel sistema come questi file nella directory /usr/bin in UNIX. E il sistema deve sapere dove trovarli. cioè la posizione deve essere caricata in array $PATH .


Nel tuo caso, lo script webpack-dev-server è già installato da qualche parte all’interno ./node_modules directory ./node_modules , ma il sistema non sa come accedervi. Quindi, per accedere al comando webpack-dev-server , è necessario installare lo script anche in ambito globale .

 $ npm install webpack-dev-server -g 

Qui, -g riferisce allo scopo globale.


Tuttavia, questo non è consigliato in quanto potresti dover affrontare problemi di versione in conflitto; così, invece, puoi impostare un comando nel file package.json npm come:

  "scripts": { "start": "webpack-dev-server -d --config webpack.dev.config.js --content-base public/ --progress --colors" } 

Questa impostazione ti permetterà di accedere allo script che vuoi con un semplice comando

 $ npm start 

Così breve da memorizzare e suonare. E, npm conosce la posizione del modulo webpack-dev-server .

Lo script webpack-dev-server è già installato nella directory ./node_modules. Puoi installarlo di nuovo globalmente da

 sudo npm install -g webpack-dev-server 

o eseguirlo in questo modo

 ./node_modules/webpack-dev-server/bin/webpack-dev-server.js -d --config webpack.dev.config.js --content-base public/ --progress --colors 

. significa guardarlo nella directory corrente.

Filato

Ho avuto il problema durante la corsa: yarn start

È stato risolto con la prima esecuzione: yarn install

Ho avuto lo stesso problema ma i passaggi seguenti mi hanno aiutato a uscirne.

  1. Installare localmente ‘webpack-dev-server’ (nella directory del progetto poiché non stava prelevando dall’installazione globale)

    npm install –save webpack-dev-server

Può verificare se la cartella ‘webpack-dev-server’ esiste all’interno di node_modules.

  1. Esecuzione di npx per l’esecuzione diretta

npx webpack-dev-server --mode development --config ./webpack.dev.js

npm run start funziona bene anche dove la tua voce negli script package.json dovrebbe essere come sopra come senza npx.

Installa con npm install --save-dev webpack-dev-server quindi ho impostato package.json e webpack.config.js in questo modo: setting .

Quindi eseguo webpack-dev-server e ottengo questo errore di errore .

Se non utilizzo npm install -g webpack-dev-server per l’installazione, come risolverlo?

Ho corretto la configuration has an unknown property 'colors' dell’errore configuration has an unknown property 'colors' rimuovendo i colors:true . Ha funzionato!

Ho trovato che la risposta accettata non funziona in tutti gli scenari. Per assicurarsi che funzioni al 100%, è necessario ANCHE cancellare la cache npm. O accedi direttamente alla cache e cancella i blocchi, le cache, anonymous-cli-metrics.json; oppure si può provare npm cache clean .

Poiché l’autore aveva eliminato la cache prima di provare la soluzione raccomandata, era ansible che non riuscisse a renderla parte dei prerequisiti.

Ho avuto un problema simile con Yarn , nessuno dei precedenti ha funzionato per me, quindi ho semplicemente rimosso ./node_modules e ./node_modules eseguito l’ yarn install ./node_modules e il problema è andato via.

per problemi con

Come eseguire webpack localmente invece della solita opzione Global

dare un’occhiata al

https://stackoverflow.com/a/51165867/10003436