2011-03-13 34 views
15

Node Boilerplate kullanıyorum ve bunun üzerinde başka bir proje oluşturmaya karar verene kadar gayet iyi çalıştı (başka bir direkte).Node.js - modülünü bulamıyorum

Şimdi iki farklı klasörde tam olarak aynı kod tabanım var (bu proje AS IS). Ben herhangi bir sorun olmadan birini çalıştırabilir ancak başka bir ile başarısız oluyor:

% node app.js 
node.js:116 
     throw e; // process.nextTick error, or 'error' event on first tick 
     ^
Error: Cannot find module 'connect/middleware/router' 
    at Function._resolveFilename (module.js:299:11) 
    at Function._load (module.js:245:25) 
    at require (module.js:327:19) 
    at Object.<anonymous> (/home/gotts/Sites/nodejs-uploadr/lib/express/lib/express/server.js:17:14) 
    at Module._compile (module.js:383:26) 
    at Object..js (module.js:389:10) 
    at Module.load (module.js:315:31) 
    at Function._load (module.js:276:12) 
    at require (module.js:327:19) 
    at Object.<anonymous> (/home/gotts/Sites/nodejs-uploadr/lib/express/lib/express/index.js:28:31) 

yoktur benzer sorun burada izah - Sorun bağlantı/ekspres uyumsuz sürümünde olduğunu söyler https://github.com/visionmedia/express/issues/535.

Fakat bu nasıl olabilir? Kaynak kodu iki klasörde tam olarak aynıdır ve bir kopyada iyi çalışır ve başka birinde başarısız olur mu?

cevap

7

Tamam, bana kendi soruya cevap olsun: yanlış için

Üzgünüz - bu iki klasörler (ben daha iyi unix diff öğrenmek ihtiyacım olacak) tam olarak aynı değildi. Ve orada kodu (

koduna gereksinim duyulur),/lib klasörüne bağlanmanın yerel önceliği önceliklidir, ancak eğer değilse - connect önceden ayarlanmış olan ~/.node_modules dosyasından bağlanır. Geçen yorumunda

8

İki klasör ortak bir ebeveyni paylaşıyor mu? Düğüm, uygulama direktörünüzde ~/.node_modules ve/node_modules modüllerini arar.

5

@see node.js express module not loading properly, belki de

değil bir sistem düzeyinde Bu benim için çalışıyor

+0

üzerine, başvurunuz klasörünün içindeki modülü yüklemektir ardındaki temel fikir yardımcı olur, ancak ben Sistem seviyesinin '-g' ile yüklenmesinin neden olan js dosyasında modülü bulamaması konusunda karışıktır. – Adam