Untuk beberapa alasan setelah menginstal Express secara global di mesin saya dengan npm install -g express
jika saya cd
masuk ke direktori dan mencoba menjalankan ekspres saya mendapatkan kesalahan berikut:
express: command not found.
Bahkan jika saya menjalankannya dengan sudo
saya masih mendapatkan hasil yang sama. Saya telah mencoba beberapa solusi berbeda untuk masalah ini dan tidak ada yang berhasil. Saya telah menginstal node di homebrew
mana beberapa utas di Stack Overflow yang diindikasikan mungkin menjadi masalah jadi saya benar-benar menghapus node dan menginstal ulang melalui penginstal di nodejs.org (Saya sekarang menjalankan v0.10.26) dan masalah masih berlanjut.
Jika saya masuk ke /usr/local/lib/node_modules
Express saya ada di sana tetapi di dalam / usr / local / bin tidak ada apa-apa tentang Express. Saya tidak yakin apakah itu masalah atau tidak tetapi mengingat ada binari untuk paket node yang diinstal secara global lainnya di direktori itu, saya pikir mungkin ada yang salah di sana.
Ini adalah keluaran tepat yang saya dapatkan ketika saya menginstal:
npm http GET https://registry.npmjs.org/express
npm http 304 https://registry.npmjs.org/express
npm http GET https://registry.npmjs.org/accepts/1.0.0
npm http GET https://registry.npmjs.org/type-is/1.0.0
npm http GET https://registry.npmjs.org/range-parser/1.0.0
npm http GET https://registry.npmjs.org/cookie/0.1.0
npm http GET https://registry.npmjs.org/fresh/0.2.2
npm http GET https://registry.npmjs.org/buffer-crc32/0.2.1
npm http GET https://registry.npmjs.org/send/0.2.0
npm http GET https://registry.npmjs.org/methods/0.1.0
npm http GET https://registry.npmjs.org/cookie-signature/1.0.3
npm http GET https://registry.npmjs.org/utils-merge/1.0.0
npm http GET https://registry.npmjs.org/merge-descriptors/0.0.2
npm http GET https://registry.npmjs.org/escape-html/1.0.1
npm http GET https://registry.npmjs.org/serve-static/1.0.1
npm http GET https://registry.npmjs.org/qs/0.6.6
npm http GET https://registry.npmjs.org/path-to-regexp/0.1.2
npm http GET https://registry.npmjs.org/parseurl/1.0.1
npm http GET https://registry.npmjs.org/debug
npm http 304 https://registry.npmjs.org/cookie/0.1.0
npm http 304 https://registry.npmjs.org/type-is/1.0.0
npm http 304 https://registry.npmjs.org/buffer-crc32/0.2.1
npm http 304 https://registry.npmjs.org/methods/0.1.0
npm http 304 https://registry.npmjs.org/accepts/1.0.0
npm http 304 https://registry.npmjs.org/range-parser/1.0.0
npm http 304 https://registry.npmjs.org/cookie-signature/1.0.3
npm http 304 https://registry.npmjs.org/fresh/0.2.2
npm http 304 https://registry.npmjs.org/serve-static/1.0.1
npm http 304 https://registry.npmjs.org/qs/0.6.6
npm http 304 https://registry.npmjs.org/utils-merge/1.0.0
npm http 304 https://registry.npmjs.org/merge-descriptors/0.0.2
npm http 304 https://registry.npmjs.org/escape-html/1.0.1
npm http 304 https://registry.npmjs.org/path-to-regexp/0.1.2
npm http 304 https://registry.npmjs.org/parseurl/1.0.1
npm http 304 https://registry.npmjs.org/debug
npm http 304 https://registry.npmjs.org/send/0.2.0
npm http GET https://registry.npmjs.org/mime
npm http GET https://registry.npmjs.org/send/0.1.4
npm http GET https://registry.npmjs.org/mime
npm http GET https://registry.npmjs.org/negotiator
npm http 304 https://registry.npmjs.org/mime
npm http 304 https://registry.npmjs.org/mime
npm http 304 https://registry.npmjs.org/send/0.1.4
npm http GET https://registry.npmjs.org/range-parser/0.0.4
npm http GET https://registry.npmjs.org/fresh/0.2.0
npm http 304 https://registry.npmjs.org/negotiator
npm http 304 https://registry.npmjs.org/range-parser/0.0.4
npm http 304 https://registry.npmjs.org/fresh/0.2.0
express@4.0.0 /usr/local/lib/node_modules/express
├── methods@0.1.0
├── parseurl@1.0.1
├── utils-merge@1.0.0
├── merge-descriptors@0.0.2
├── escape-html@1.0.1
├── debug@0.8.0
├── cookie-signature@1.0.3
├── range-parser@1.0.0
├── fresh@0.2.2
├── qs@0.6.6
├── buffer-crc32@0.2.1
├── cookie@0.1.0
├── path-to-regexp@0.1.2
├── type-is@1.0.0 (mime@1.2.11)
├── send@0.2.0 (mime@1.2.11)
├── serve-static@1.0.1 (send@0.1.4)
└── accepts@1.0.0 (negotiator@0.3.0, mime@1.2.11)
sumber
Anda perlu menjalankan:
Express asli dengan cli, sekarang cli dipecah menjadi paket generator ekspres terpisah. Awalnya dibuat oleh proyek ini menjalankan app.js node ekspres, karena httpserver kode relevan di app.js, dan sekarang bagian kode ini ke direktori proyek di
bin/www
bawah ini, app.js hanya mempertahankan mencapai kode logika aplikasi, Anda perlu menjalankanbin/www
. Hanya aplikasi yang sangat sederhana dan perubahan versi ketergantungan paket perbaikan.sumber
Saya mengalami tantangan ini selama beberapa hari. Setelah pencarian mendalam, saya belajar bahwa seseorang harus membaca setiap sumber daya yang tersedia terutama dari sumber induk [dalam hal ini EXPRESSJS.COM]. Berikut ini perbaikan cepat.
Mulai dengan versi 4.0+ Anda tidak perlu menginstal generator-ekspres jika Anda menjalankan Node 8.2+. Jalankan saja
Generator ekspres akan bekerja seperti yang dijalankan saat Anda menjalankan:
express
Untuk detail selengkapnya, lihat Memulai
Selamat membaca dan jam riset.
sumber
Saya baru-baru ini mencoba menginstal generator-ekspres, bagaimanapun itu akan memberi,
Itu setelah saya melakukannya
Tapi kemudian, saya melihat log konsol dari perintah npm install
/usr/local/Cellar/node/13.1.0/bin/express -> /usr/local/Cellar/node/13.1.0/lib/node_modules/express-generator/bin/express-cli.js
yang memberi petunjuk bahwa eksekusi ekspres ada di folder bin.
Jadi solusinya adalah: Buka ~ / .zshrc atau ~ / .bashrc dan ekspor jalur sebagai berikut:
export PATH=/usr/local/Cellar/node/13.1.0/bin:$PATH
Ini bekerja sekarang.
sumber