2012-03-14 29 views
12
 
[[email protected] websocket_start]# npm ls -g installed 
npm WARN ls doesn't take positional args. Try the 'search' command 
npm WARN [email protected] package.json: bugs['web'] should probably be bugs['url'] 
/usr/lib 
├─┬ [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ └── [email protected] 
└── [email protected] 
[[email protected] websocket_start]# npm ls installed 
npm WARN ls doesn't take positional args. Try the 'search' command 
/home/qonco/workspace/JS/websocket_start 
(empty) 
[[email protected] websocket_start]# node 
> require("websocket-server"); 
Error: Cannot find module 'websocket-server' 
    at Function._resolveFilename (module.js:332:11) 
    at Function._load (module.js:279:25) 
    at Module.require (module.js:354:17) 
    at require (module.js:370:17) 
    at repl:1:1 
    at REPLServer.eval (repl.js:80:21) 
    at repl.js:190:20 
    at REPLServer.eval (repl.js:87:5) 
    at Interface. (repl.js:182:12) 
    at Interface.emit (events.js:67:17) 
> 

cevap

14

Modülü -g seçeneğiyle yüklediniz mi? Bence, her modülün global olarak kurulması gerekmiyor, bunun yerine, oluşturduğunuz proje için yerel olarak yüklemeyi deneyin (npm install) ve hatanın devam edip etmediğini kontrol edin.

+0

teşekkür ederiz uygulama klasörüne küresel bağlamak için bu deneyin var! Yerel olarak kuruyorum ve çalışıyor. Yerel ve küresel olarak neden farklı? Düğüm hem küresel hem de yerel olarak modülleri bulamaz mı? – Thetsu

+7

Sadece ihtiyacınız varsa ('bir şeyler'); yerel olarak kurmak daha iyidir, aksi halde, ('{PREFIX} bir şey') gerekir, burada önek, global olarak yüklediğiniz yerin yoludur. Bu [blog yayını] 'na göz atın (http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/) ve genel olarak temel kural, bunları uygulamanızda kullanacaksanız ve bunları komut satırından kullanacaksanız, global olarak bir şeyler yüklemektir. – Javo

+0

Bir Node.js komut dosyası çalıştırıyorsanız, ör. '~/bin/my-awesome-script.js', Node.js bu betiğin klasöründeki modülü arar, komut dosyasını çalıştırdığınız geçerli klasörde değil. Yani bu durumda, 'npm install…' '/ bin' den çalıştırdığınızdan emin olun. Bunun için – avernet

54

uygulamanıza modül küresel gitmek yüklenmiş ve

sudo npm link <MODULeNAME> 
+3

Bu en iyi cevap olmalı, yerel olarak kurmanın çok daha basit/kolay bir yoludur ve modülü dünya çapında bir kez kurmanıza izin verir. – Bloodyaugust

+1

Sadece 'sudo npm link' yapıyordum ve 'package.json' dosyasında düzgün olarak bildirilmiş olsa bile modülü bulamadı. 'argümanının eklenmesi bunu çözdü. –

+2

+1. Bu benim için çalıştı ve gerçekten daha temiz bir çözüm oldu. – asiby

İlgili konular