Saya baru Node.js, cobalah untuk belajar mengungkapkan untuk membangun aplikasi web pertama saya. Aku terjebak pada saya pertama sampel kode dan butuh bantuan untuk mendapatkannya berjalan. Sebelum saya posting pertanyaan ini, saya melakukan pencarian di stack overflow, ditemukan beberapa pertanyaan yang serupa tapi masih tidak bisa memperbaikinya.
Error: Tidak dapat menemukan modul 'express'
Saya menggunakan mac os 10.8.2. Saya Node.js diinstal dengan menggunakan nvm
.
node.js: 0.8.20 jalur ke node: /Users/feelexit/nvm/v0.8.20/bin/node jalan untuk mengekspresikan: /Users/feelexit/nvm/node_modules/express
berikut ini's my kode contoh: file ini terletak di:
/Users/feelexit/WebstormProjects/learnnode/node_modules/index.js
var express = require('express');
var app = express();
app.get('/', function(req, res){
res.send('welcome to express');
});
app.listen(3000);
ketika saya mencoba untuk menjalankan perintah ini node index.js
Saya mendapatkan pesan error berikut, tolong bantu saya untuk memperbaikinya.
Terima kasih.
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> (/Users/feelexit/WebstormProjects/learnnode/node_modules/index.js:1:81)
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)
feelexits-Mac:node_modules feelexit$
Update untuk menjawab dapat's pertanyaan:
feelexits-Mac:~ feelexit$ npm install
npm ERR! install Couldn't read dependencies
npm ERR! Error: ENOENT, open '/Users/feelexit/package.json'
npm ERR! If you need help, you may report this log at:
npm ERR! <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR! <[email protected]>
npm ERR! System Darwin 12.2.0
npm ERR! command "/Users/feelexit/nvm/v0.8.20/bin/node" "/Users/feelexit/nvm/v0.8.20/bin/npm" "install"
npm ERR! cwd /Users/feelexit
npm ERR! node -v v0.8.20
npm ERR! npm -v 1.2.11
npm ERR! path /Users/feelexit/package.json
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /Users/feelexit/npm-debug.log
npm ERR! not ok code 0
Periksa apakah anda telah menginstal express
modul. Jika tidak, gunakan perintah ini:
npm install express
dan jika anda node_modules
direktori di tempat lain, mengatur NODE_PATH
envirnment variabel:
set NODE_PATH=your\directory\to\node_modules;%NODE_PATH%
Anda memiliki anda mengekspresikan modul terletak di direktori yang berbeda dari proyek anda. Itu mungkin masalah karena anda mencoba untuk require()
secara lokal. Mencoba menggerakkan express modul dari /Pengguna/feelexit/nvm/node_modules/express untuk /Pengguna/feelexit/WebstormProjects/learnnode/node_modules/express. Info ini dapat memberikan lebih banyak detail tentang node_module struktur file.
untuk skenario ini berjalan npm install express perintah menggunakan cmd prompt untuk masing-masing folder di mana anda ingin menjalankan program. Contoh saya ingin menjalankan express modul program server.js di F:\nodeSample. Jadi lari "npm install express" dalam folder tersebut kemudian jalankan server.js
Kecuali jika anda mengatur Node_PATH, satu-satunya pilihan lain adalah dengan menginstal express di direktori aplikasi, seperti npm install express-simpan
.
Express mungkin sudah diinstal tapi node
tidak dapat menemukan untuk beberapa alasan
jika youre file utama berada di /Users/feelexit/WebstormProjects/learnnode/node_modules/index.js
kemudian mengekspresikan kebutuhan untuk berada
di /Pengguna/feelexit/WebstormProjects/learnnode/node_modules/node_modules
sebagai simpul selalu terlihat untuk modul dalam ./node_modules
(dan internal folder)
ketika jalan tidak dimulai dengan ./
atau /
(info lebih lengkap di sini)
saya pikir anda kehilangan ditempatkan youre utama file di folder modul
Menjalankan npm install express body-parser cookie-parser multer-menyimpan perintah
di direktori yang sama dengan kode sumber anda nodejs file untuk mengatasi masalah ini.
P/s: memeriksa direktori anda setelah menjalankan perintah untuk memahami lebih lanjut!
npm ERR! Kesalahan: ENOENT, pembukaan '/Pengguna/feelexit/paket.json'
Hal ini terjadi karena tidak ada izin atau dibatalkan file sementara npm bekerja.
Artinya, bahwa eksekusi npm
sebagai user ini doesn't memiliki cukup hak untuk membaca/menulis dari sebuah file, dalam hal ini paket.json.
mencoba menambahkan sudo
sebelum seluruh perintah itu harus menyelesaikan.
$ sudo npm install-g express
$ Password:*******
Password akan password admin anda dari mac anda.
-g
bendera akan menginstal modul ini (express) dalam konteks global dari node - arti node akan/harus mengakui express
modul dari dalam setiap js file tanpa harus memberikan path lengkap ke modul yang di gunakan.
Harap ini membantu!!
D:\learn\Node.js\node app.js
module.js:549
throw err;
^
Error: Cannot find module 'body-parser'
at Function.Module._resolveFilename (module.js:547:15)
at Function.Module._load (module.js:474:25)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
Kadang-kadang versi tidak cocok dengan paket.json Tetap masalah dengan memeriksa paket.json kemudian gunakan perintah berikut: npm install [email protected] itu diselesaikan untuk saya.
Dalam kasus yang jarang terjadi, npm cache mungkin mendapatkan korup. Bagi saya, apa yang bekerja adalah:
npm cache clean --force
Umumnya, manajer paket akan mendeteksi korupsi dan refetch sendiri sehingga ini biasanya tidak diperlukan. Namun, dalam kasus saya Windows 10 yang jatuh beberapa kali dan saya menduga ini mungkin telah selama pengambilan operasi. Berharap itu membantu seseorang!
Informasi lebih lanjut: https://docs.npmjs.com/cli/cache
I'm menebak bahwa ini adalah kursus dari Colt Steele's Web Development saja... aku sedang mencari jawaban yang sama mengapa saya berakhir dengan kesalahan itu juga.. Colt doesn't berkata begitu tapi anda mengambil node_module folder dan pindahkan ke folder yang baru anda're bekerja di... yang's apa yang bekerja untuk saya.