2012-03-14 25 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

あなたはただ( '何か')を要求したいならば;それをローカルにインストールする方が良いでしょう。そうでなければ、( '{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

関連する問題