Nodejs non riesce a trovare il modulo
-
21-12-2019 - |
Domanda
Sto ricevendo un errore durante il tentativo di utilizzare qualsiasi modulo globale, Exemple:
Error: Cannot find module 'express'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:362:17)
at require (module.js:378:17)
at Object.<anonymous> (C:\BitNami\wappstack\...\test\app.js)
at Module._compile (module.js:449:26)
at Object.Module._extensions..js (module.js:467:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.runMain (module.js:492:10)
.
Ho installato il comando express:
npm install -g express
.
My app.js:
var express = require('express');
.
e eseguilo utilizzando Windows PowerShell o Node.js Command Command Command Windows:
node app.js
.
Non so davvero cosa sta andando male, ho letto qualcosa sulle variabili di ambiente in Windows, può essere?
risolto / aggiornamento
Il problema è stato: le variabili di ambiente Windows non sono state configurate per la cartella NPM. Cerca la cartella NPM e aggiungi il percorso nelle variabili dell'ambiente.
Soluzione
Dovresti installare Express localmente:
npm install express
.
Quindi richiederlo come hai fatto:
var express = require('express')
. Altri suggerimenti
Solo per citare da qui:
Ho avuto lo stesso errore su Windows 7 / X64 e aggiungendo il seguito nella variabile di ambiente risolta il problema:
NODE_PATH=C:\Users\[USERNAME]\AppData\Roaming\npm\node_modules
.
* Sostituisci [Nome utente] con il tuo nome utente del sistema
Sto lavorando a Linux, ma quando ho bisogno di Express, lo sto facendo con un percorso relativo a dove è installato e funziona bene:
var express = require('./public/node_modules/express');
.
Sono sicuro che la stessa cosa avrebbe funzionato anche con un percorso di Windows.Se vuoi essere più esplicito e dichiarare un percorso assoluto, sarebbe l'opzione nucleare per assicurarti di sapere sempre dove viene caricato il tuo modulo da indipendentemente da dove vengono eseguiti i tuoi script.
Se hai ancora un problema dopo aver usato un percorso esplicito, non so quale potrebbe essere il problema...
Un'altra opzione sarà quella di eseguire NPM Install --Save Express