2013-05-10 24 views
43

ho installato request module, e ottenere l'errore:node.js: non riesce a trovare il modulo 'richiesta'

module.js:340 
    throw err; 
     ^
Error: Cannot find module 'request' 

Ho letto tutti i post su questo errore, e capire che questo è perché le richieste di modulo non è globalmente trovato, ma ho già provato i 2 suggerimenti

npm install request -g

questo dovrebbe installarlo in/usr/loca/bin? perché non lo vedo lì.

e

sudo npm link

/usr/local/lib/node_modules/request -> /Users/soulsonic/dev/sandbox/node_test/request

ho riavviato terminale dopo ogni comando, ma continuo a ricevere il non riesce a trovare errore del modulo.

aggiornamento

ci deve essere stato un qualche tipo di conflitto nella mia directory iniziale, perché "NPM installare richiesta" non è stata l'aggiunta di "richiesta" sotto node_modules (lì altri 10 in là) .. dopo il passaggio in una nuova directory ha funzionato.

se lo eseguo con l'opzione -g, lo vedo bing installato su/usr/local/lib/node_modules/request.

sembra che ho solo bisogno di aggiornare il mio profilo in modo che il percorso sopra viene aggiunto automaticamente.

risposta

80

Vai alla cartella del progetto

mkdir TestProject 
cd TestProject 

Rendere questa directory radice del progetto (questo creerà un default package.json File)

npm init --yes 

Installare req uired modulo NPM e salvarlo come una dipendenza di progetto (che apparirà nel package.json)

npm install request --save 

Creare un file test.js nella directory del progetto con il codice esempio pacchetto

var request = require('request'); 
request('http://www.google.com', function (error, response, body) { 
    if (!error && response.statusCode == 200) { 
    console.log(body); // Print the google web page. 
    } 
}); 

directory del progetto dovrebbe assomigliare a questa

TestProject/ 
- node_modules/ 
- package.json 
- test.js 

Ora basta gestiscono i nodi all'interno della vostra directory del progetto

node test.js 
+1

sì, questo è esattamente l'esempio che ho seguito. ed eseguo l'installer npm 10 volte ora .. nel mio progetto di test e usando flag -g. posso vedere node_modules nella mia directory di test, ma la richiesta non è lì ... continua a darmi quell'errore .. –

+0

@SonicSoul quindi perché hai accettato la risposta? – Drumnbass

+0

perché anche se ho avuto qualche strano conflitto, questi sono i passi da seguire. ha funzionato una volta che l'ho fatto di nuovo in una nuova directory. Ho aggiunto un aggiornamento su quello che è successo a me che sarà probabilmente raro per gli altri –

17

È necessario installare semplicemente requestlocalmente all'interno del progetto.

Proprio cd alla cartella contenente il file js ed eseguire

npm install request 
+0

dopo "richiesta di installazione di npm" ho copiato il mio app.js nella cartella di richiesta e ho cercato di eseguirlo da lì con lo stesso risultato. e avrò bisogno di usarlo da più di un solo progetto. –

+0

@SonicSoul: stai fraintendendo il funzionamento dei pacchetti di nodi. 'require ('request')' guarda in './node_modules/request', ed è qui che' npm install' lo mette. Dovresti eseguire 'npm install' dalla directory principale di ogni app, e non dovresti mai toccare la cartella' node_modules' da solo. – SLaks

+0

prima di eseguire 'npm install request', dovresti eseguire' npm init'. Segui le istruzioni che creeranno un 'package.json' nella cartella del tuo progetto. Quindi esegui "npm install -S request' che installerà il modulo di richiesta nella cartella node_modules e aggiungerà una richiesta al tuo file package.json – Noah

-1

Ho incontrato lo stesso problema, ecco come ho funzionato ..

terminale aperto:

mkdir testExpress 
cd testExpress 
npm install request 

o

sudo npm install -g request // If you would like to globally install. 

ora non usano

nodo app.js o un nodo test.js, si incorrere in questo problema a farlo. È anche possibile stampare il problema causato utilizzando questo comando. "node -p app.js"

Il comando precedente per avviare nodeJs è stato deprecato. Invece utilizzare

npm start 

Si dovrebbe vedere questo ..

[email protected] start /Users/{username}/testExpress 
node ./bin/www 

Aprire il browser web e verificare la presenza di localhost: 3000

Si dovrebbe vedere Installazione rapida (Benvenuti a Express)

-1

Ho incontrato lo stesso problema che ho installato a livello globale, quindi provo a installarlo localmente, e funziona.

-1

se qualche modulo non riesci a trovare, provare con Static URI, ad esempio:

var Mustache = require("/media/fabio/Datos/Express/2_required_a_module/node_modules/mustache/mustache.js"); 

Questo esempio, eseguito su Ubuntu Gnome 16.04 di 64 bit, nodo -v: v4.2.6, NPM: 3.5. 2 Fare riferimento a: Blog of Ben Nadel

3

ho avuto lo stesso problema, per me npm install request --saverisolto il problema. Spero che aiuti.

Problemi correlati