2012-04-01 6 views
1

私はboshサーバを実装したいと思います。 Windowsプラットフォームでは難しいので、VMware経由でUbuntu仮想マシンに展開することに決めました。私は問題なくインストールを行いました。私はこのページのプロセスを取った:http://code.google.com/p/node-xmpp-bosh/wiki/DebianHowTo。 今、私はStarting bosh server.のコンソールにsudo boshまたはsudo /etc/init.d/bosh startというコマンドでboshサーバーをテストしたいです。ubuntuのnode-xmpp-boshエラー

私はbosh.errファイルを見て、私はexec: 2: /usr/local/lib/bosh/run-server.js: Permission deniedと表示されます。私はこのエラーがなぜsudoであるのか分かりません。


私はdhruvbirdのように実行可能権限を与えました:chmod +x /usr/local/lib/bosh/run-server.js。私は、コマンドsudo boshを実行したとき

は今、私は端末にStarting boshを持っているとbosh.errは、このあります

node.js:201 
     throw e; // process.nextTick error, or 'error' event on first tick 
      ^
Error: Cannot find module 'ltx' 
    at Function._resolveFilename (module.js:334:11) 
    at Function._load (module.js:279:25) 
    at Module.require (module.js:357:17) 
    at require (module.js:368:17) 
    at Object.<anonymous> (/usr/local/lib/bosh/src/bosh.js:26:19) 
    at Module._compile (module.js:432:26) 
    at Object..js (module.js:450:10) 
    at Module.load (module.js:351:31) 
    at Function._load (module.js:310:12) 
    at Module.require (module.js:357:17)̍ 

そして、私はコマンドsudo /etc/init.d/bosh startを実行したときに、私はいつもbosh.err上の端末とこれにStarting boshを持っている:

/usr/bin/env: node: No such file or directory

私のboshサーバーは動作しません。


私はdpkg -L nodejs | grep binまたはdpkg -L node | grep binを実行して、私はパッケージが各テストのためにインストールされていないことを読み取ることができます。私はapt-get update && apt-get install -u nodejsapt-get update && apt-get install -u nodeを実行し、常に同じ結果になります。私がnode -vを実行し、v0.6.3を持っていて、これはノードがインストールされていることを意味します。そして私はhome/nodeにノードディレクトリを持っています。それは道の問題ですか?


私はnpm install node-xmpp-boshを実行しようと、これはNPM-debug.logに上の結果である:

... 
info preuninstall [email protected] 
info uninstall [email protected] 
verbose unbuild [email protected] [ true, 
verbose unbuild [email protected] '/home/frederic/node_modules', 
verbose unbuild [email protected] '/home/frederic/node_modules' ] 
verbose binRoot [ '/home/frederic/node_modules/.bin', 
verbose binRoot { 'bosh-server': './run-server.js' } ] 
info postuninstall [email protected] 
ERR! Error: shasum check failed for /tmp/npm-1333573304110/1333573499309-0.1599154758732766/tmp.tgz 
ERR! Expected: 1ceb545541dce5531c12187b80de902718a6afd2 
ERR! Actual: a3920de4ba03316b05b8c94163ea39ba3db434cc 
ERR!  at /usr/local/lib/node_modules/npm/lib/utils/sha.js:25:20 
ERR!  at [object Object].<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/sha.js:49:5) 
ERR!  at [object Object].emit (events.js:64:17) 
ERR!  at afterRead (fs.js:1111:12) 
ERR!  at Object.wrapper [as oncomplete] (fs.js:254:17) 
ERR! You may report this log at: 
ERR!  <http://github.com/isaacs/npm/issues> 
ERR! or email it to: 
ERR!  <[email protected]> 
ERR! 
ERR! System Linux 3.0.0-12-generic 
ERR! command "node" "/usr/local/bin/npm" "install" "node-xmpp-bosh" 
ERR! cwd /home/frederic 
ERR! node -v v0.6.3 
ERR! npm -v 1.1.15 
ERR! message shasum check failed for /tmp/npm-1333573304110/1333573499309-0.1599154758732766/tmp.tgz 
ERR! message Expected: 1ceb545541dce5531c12187b80de902718a6afd2 
ERR! message Actual: a3920de4ba03316b05b8c94163ea39ba3db434cc 
verbose exit [ 1, true ] 
+0

-l/usr/local/lib/bosh/run-server.js'を表示しますか? – sarnold

+0

これは靴です: '-rw-r -r-- 1 root root 4889 2012-04-01 18:50/usr/local/lib/bosh/run-server.js' – megueloby

+0

おそらくそのスクリプトを実行可能にする必要があります許可:chmod + x /usr/local/lib/bosh/run-server.js – dhruvbird

答えて

1
/usr/bin/env: node: No such file or directory 

これはboshは、シェルスクリプトのための奇妙な少しイディオムを使用するように書かれていることを意味:

#!/usr/bin/env node 

これはそのを検索するenv(1)プログラムを実行します実行可能ファイルnodeの場合はを実行し、変更された環境で実行します。ただし、環境を変更しない場合は、nodeが実行されます。ちょっとばかりですが、インタープリタへのパスをハードコードしないスクリプトを書くのが最も簡単な方法です。

システムで実行可能なプログラムnodeはありません。おそらくnodeはまだインストールされていません。 (私は古いバージョンは実際にnodejs命名されたというあいまいな記憶を持っている - しかし、私はこのメモリをサポートするためのドキュメントを見つけることができません。)

を確認nodeがインストールされていることを確認するには、次のコマンドを実行します

apt-get update && apt-get install -u nodejs 

nodejsパッケージの場合実行ファイル名が異なる可能性があります。dpkg -L nodejs | grep binを実行し、出力で実行可能ファイル名を探します。 /usr/bin/nodeが表示されない場合は、シンボリックリンクの設定をお手伝いします。

+0

私はdpkg -L nodejs |を実行します。 grep binまたはdpkg -Lノード| grep binと私はパッケージが各テスト用にインストールされていないことを読むことができます。私はapt-get update && apt-get install -u nodejsとapt-get update && apt-get install -uノードを実行し、常に同じ結果を得ます。 – megueloby

+0

こんにちはシンボリックリンクを設定する方法とまずそれはどういう意味ですか? – megueloby

0

あなたは、私はCentOSの6.4(最終)リリース私servsersの1に同じ問題を抱えていたsudo apt-get install nodejs-legacy

0

実行することができます/usr/bin/env: node: No such file or directory修正するには 私は、これらのコマンドを使用して、それを固定している: `LSを何

# yum install nodejs 
# yum install npm 
# npm install ltx 
# npm install underscore 
# npm install node-lumberjack 
# npm install node-uuid 
# npm install eventpipe 
# npm install node-expat 
# npm install ejs 
# npm install dns-srv 
# npm install tav 
# npm install ws 
関連する問題