2016-11-18 12 views
1

48は、だから私はObjective Cのを橋渡ししようとしていると 'nodobjc' を使ってNode.jsのだ:電子:モジュールのバージョンが一致しません。 、50予想

モジュールのバージョンの不一致:

var $ = require('NodObjC') 
$.framework('Foundation') 
var pool = $.NSAutoreleasePool('alloc')('init') 
var string = $.NSString('stringWithUTF8String', 'Hello Objective-C World!') 
console.log(string) 
pool('drain') 

これを追加した後、私はこの例外を取得しています。 50を期待して、48を得ました。

私はノードv7.1.0 & NPM 3.10.9を使用しています。 thisをチェックして古いものがあるかどうかを確認しましたが、NODE_MODULE_VERSIONが50のものは何もありません。 ここでは何が起こっていますか?

私は数日前に同様の問題に直面し、そしてここで私はそれを修正する方法だた
+0

現在のノードバージョンに対してネイティブモジュールを再構築しましたか? –

+1

@JensHabegger:これを実行して解決しました:npm rebuild --runtime = electron --target = 1.3.1 --disturl = https://atom.io/download/atom-shell --build-from-source再構築それは別のターゲットバージョンを使用し、それは働いた! –

答えて

4

npm install electron-rebuild --save-dev 

その後、

.\node_modules\.bin\electron-rebuild.cmd 

または(Linuxでは、マック)(Windowsの場合)を呼び出し

.\node_modules\.bin\electron-rebuild 

基本的には、新しいネイティブモジュールをアプリケーションに追加するたびに電子を再構築する必要があります。

+2

Szydlo:ありがとう!私はこれを実行して解決しました: 'npm rebuild --runtime = electron --target = 1.3.1 --disturl = https://atom.io/download/atom-shell --build-from-source' 別のターゲットバージョンを使用して再構築しても機能しました! –

0

私はこれをruningてことによってそれを解決:別のターゲットバージョンを使用して、それを

npm rebuild --runtime=electron --target=1.3.1 --disturl=atom.io/download/atom-shell --build-from-source

を再建し、それが働きました!

関連する問題