2012-10-18 1 views
10

ノードにopencvをインストールしようとしています。私はこれがopencvと直接関係ないと思っています。むしろnode-gypと関係があります。 私は私のMac上のOpenCVをインストールで成功していたが、私はUbuntuのサーバー上の正確な同じことをしようとしたとき、私は「NPM opnecvをインストールし」実行した後、次のエラーを取得:エラー:ノードの "以前の"バージョンをインストールできません。代わりに--nodedirフラグを使用してください。

npm http GET https://registry.npmjs.org/opencv 
npm http 304 https://registry.npmjs.org/opencv 

> [email protected] preinstall /home/demo/node_modules/opencv 
> node-gyp rebuild 

gyp ERR! configure error 
gyp ERR! stack Error: "pre" versions of node cannot be installed, use the --nodedir flag instead 
gyp ERR! stack  at install (/usr/local/lib/node_modules/node-gyp/lib/install.js:69:16) 
gyp ERR! stack  at Object.commands.forEach.self.commands.(anonymous function) [as install] (/usr/local/lib/node_modules/node-gyp/lib/node-gyp.js:56:37) 
gyp ERR! stack  at getNodeDir (/usr/local/lib/node_modules/node-gyp/lib/configure.js:181:20) 
gyp ERR! stack  at /usr/local/lib/node_modules/node-gyp/lib/configure.js:101:9 
gyp ERR! stack  at ChildProcess.exithandler (child_process.js:538:7) 
gyp ERR! stack  at ChildProcess.EventEmitter.emit (events.js:96:17) 
gyp ERR! stack  at maybeClose (child_process.js:638:16) 
gyp ERR! stack  at Process._handle.onexit (child_process.js:680:5) 
gyp ERR! System Linux 3.2.0-29-generic 
gyp ERR! command "node" "/usr/local/bin/node-gyp" "rebuild" 
gyp ERR! cwd /home/demo/node_modules/opencv 
gyp ERR! node -v v0.8.13-pre 
gyp ERR! node-gyp -v v0.7.1 
gyp ERR! not ok 
npm ERR! [email protected] preinstall: `node-gyp rebuild` 
npm ERR! `sh "-c" "node-gyp rebuild"` failed with 1 
npm ERR! 
npm ERR! Failed at the [email protected] preinstall script. 
npm ERR! This is most likely a problem with the opencv package, 
npm ERR! not with npm itself. 
npm ERR! Tell the author that this fails on your system: 
npm ERR!  node-gyp rebuild 
npm ERR! You can get their info via: 
npm ERR!  npm owner ls opencv 
npm ERR! There is likely additional logging output above. 

npm ERR! System Linux 3.2.0-29-generic 
npm ERR! command "/usr/local/bin/node" "/usr/local/bin/npm" "install" "opencv" 
npm ERR! cwd /home/demo 
npm ERR! node -v v0.8.13-pre 
npm ERR! npm -v 1.1.63 
npm ERR! code ELIFECYCLE 
npm ERR! 
npm ERR! Additional logging details can be found in: 
npm ERR!  /home/demo/npm-debug.log 
npm ERR! not ok code 0 

私は、ソースコードをダウンロードして試してみました同様の結果で「ノード-GYP再構築」やって:

[email protected]:~/src/node$ node-gyp rebuild 
gyp info it worked if it ends with ok 
gyp info using [email protected] 
gyp info using [email protected] | linux | x64 
gyp ERR! configure error 
gyp ERR! stack Error: "pre" versions of node cannot be installed, use the --nodedir flag instead 
gyp ERR! stack  at install (/usr/local/lib/node_modules/node-gyp/lib/install.js:69:16) 
gyp ERR! stack  at Object.commands.forEach.self.commands.(anonymous function) [as install] (/usr/local/lib/node_modules/node-gyp/lib/node-gyp.js:56:37) 
gyp ERR! stack  at getNodeDir (/usr/local/lib/node_modules/node-gyp/lib/configure.js:181:20) 
gyp ERR! stack  at /usr/local/lib/node_modules/node-gyp/lib/configure.js:101:9 
gyp ERR! stack  at ChildProcess.exithandler (child_process.js:538:7) 
gyp ERR! stack  at ChildProcess.EventEmitter.emit (events.js:96:17) 
gyp ERR! stack  at maybeClose (child_process.js:638:16) 
gyp ERR! stack  at Process._handle.onexit (child_process.js:680:5) 
gyp ERR! System Linux 3.2.0-29-generic 
gyp ERR! command "node" "/usr/local/bin/node-gyp" "rebuild" 
gyp ERR! cwd /home/demo/src/node 
gyp ERR! node -v v0.8.13-pre 
gyp ERR! node-gyp -v v0.7.1 
gyp ERR! not ok 

は、誰もが前に、この問題がありましたか?

+0

、なぜあなたがいます安定したバージョン0.8.12ではなくNode.js 0.8.13を使用していますか? –

+0

おっと、それは私の意図ではありませんでした。私は0.8.12に切り替えるでしょう。 –

答えて

16

を使用してください。ここで、/path/to/nodeは、現在のnodejsソースコードへのパスです。

は、ノード-GYPは、カスタムビルドにソースを見つけることができないので発生し、ここでそれについての議論である:https://github.com/TooTallNate/node-gyp/issues/86

あなたは、スーパーユーザ権限を持っている場合は、一般的にシンボリックリンクを作成することによってこの問題を解決することができます。

chmod a+r /path/to/node -R 
cd /usr/lib 
sudo ln -s /path/to/node node 

さらにnpm installとなります。他のソフトウェアが依存している可能性があるので、/ usr/lib/nodeがすでに存在する場合は、これを行わないでください。

+0

今日の人生を保存しました – Rafay

20

私はまた、安定したバージョン(例えばない「予備」バージョン - バージョンが0.8.13-preある)にノードの私のバージョンをアップグレードすることによってこの問題を解決することができた次に:ところで

sudo npm install -g n # install node version manager "n" 
sudo n stable # install the latest stable version of node 
+0

ありがとう!この方法でのみ問題を解決しました –

関連する問題