2016-11-18 2 views
1

Так что я пытаюсь соединить Objective C и Node.js с помощью 'nodobjc':Электрон: несоответствие версии модуля. Ожидаемое 50, получил 48

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 Rebuilt он использовал другую целевую версию, и она сработала! –

ответ

4

я столкнулся аналогичная проблема несколько дней назад, и вот как я установил его:

npm install electron-rebuild --save-dev 

затем вызовите (Windows)

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

или (Linux, Mac)

.\node_modules\.bin\electron-rebuild 

В основном вам нужно перестроить электрон каждый раз, когда вы добавляете новый собственный модуль в приложение.

+2

Szydlo: Спасибо! Я решил это, выполнив это: 'npm rebuild --runtime = electronic --target = 1.3.1 --disturl = https: //atom.io/download/atom-shell --build-from-source' Восстановил его, используя другую целевую версию, и это сработало! –

0

Я решил ее подножка это:

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

перестроен его, используя другую целевую версию, и она работала!

Смежные вопросы