2012-03-14 5 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) 
> 

답변

14

-g 옵션을 사용하여 모듈을 설치 했습니까? 모든 모듈이 전역 적으로 설치되는 것은 아니라, 작성중인 프로젝트 (npm install)에 로컬로 설치하고 오류가 계속 발생하는지 확인하십시오.

+0

감사합니다 응용 프로그램 폴더에 글로벌 연결이 시도했다! 로컬에 설치하면 작동합니다. 지역적으로나 전 세계적으로 왜 다른가? 해당 노드가 전역 적으로나 로컬 적으로 모듈을 찾을 수 있습니까? – Thetsu

+7

그냥 '(something)'을 원한다면; 로컬에 설치하는 것이 낫습니다. 그렇지 않으면, ('{PREFIX} something')을 요구해야합니다. 여기서 prefix는 전역 적으로 설치 한 경로입니다. [블로그 게시물] (http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/)에서 확인하십시오. 어림짐작은 앱에서 사용하려는 경우 로컬로 설치하고, 명령 줄에서 사용하려면 전역으로 설치하는 것입니다. – Javo

+0

Node.js 스크립트를 실행중인 경우 (예 : '~/bin/my-awesome-script.js'를 실행하면 Node.js는 스크립트를 실행하는 현재 폴더가 아닌 해당 스크립트의 폴더에서 모듈을 찾습니다. 그러므로이 경우'~/bin'에서'npm install ... '을 실행하십시오. 이것에 대해서는 – avernet

54

당신은 앱에 모듈 글로벌 이동을 설치하고

sudo npm link <MODULeNAME> 
+3

이것은 최상위 대답이어야하며, 로컬로 설치하는 데 훨씬 간결하고 쉬운 방법이며 모듈을 전 세계적으로 한 번 설치할 수 있습니다. – Bloodyaugust

+1

'sudo npm link' 만하고'package.json' 파일에 제대로 선언되어 있어도 모듈을 찾지 못했습니다. ''인수를 추가하면 해결되었습니다. –

+2

+1. 이것은 나를 위해 일했고 참으로 깨끗한 솔루션이었습니다. – asiby

관련 문제