错误:模块版本不匹配。当试图在电子壳中发射时

时间:2015-05-22 06:09:06

标签: node.js mongoskin electron

当我尝试在电子外壳中启动我的应用时,我收到以下错误: 我正在使用节点v0.12.3 我已经安装了电子预制

Uncaught Exception:
Error: Module version mismatch. Expected 43, got 14.
at Error (native)
at Object.module.(anonymous function) (ATOM_SHELL_ASAR.js:118:20)
at Object.module.(anonymous function) [as .node] (ATOM_SHELL_ASAR.js:118:20)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:298:12)
at Module.require (module.js:353:17)
at require (module.js:372:17)
at bindings (/src/git/superqa/node_modules/bcrypt/node_modules/bindings/bindings.js:76:44)
at Object.<anonymous> (/src/git/superqa/node_modules/bcrypt/bcrypt.js:3:35)
at Module._compile (module.js:418:26)

// my main.js file看起来像superqa/main.js

var app = require("./app/app.js");
var App = require("./src/app.js");

new App(app);

//my src/app.js看起来像superqa/src/app.js

var path = require("path");

var BrowserWindow = require('browser-window');

module.exports = App;

function App(app) {
  var self = this;

  this._app = app;
  this._assetDir = path.resolve(__dirname, "..", "dist");
  this.mainWindow = null;

  app.on('ready', function() {
   self.mainWindow = new BrowserWindow({
      width: 1024,
      height: 768
    });
    self.mainWindow.loadUrl("http://localhost:3000/login");
  });
}

1 个答案:

答案 0 :(得分:0)

问题是预构建的二进制文件是使用io.js 1.x构建的,它使用与node.js不同(更高)的ABI版本。因此,如果您想使用预先构建的版本,则必须使用io.js 1.x.否则,如果您想继续使用节点0.12.x,则必须自己构建电子。