搜尋

首頁  >  問答  >  主體

node.js - electron使用原生node模块

问题

本地node是4.X,electron的是6.X,导致npm安装的模块不能在electron上使用

尝试使用electron-rebuild解决,但一直报错

天蓬老师天蓬老师2783 天前656

全部回覆(2)我來回復

  • PHPz

    PHPz2017-04-17 15:34:43

    能說得詳細點麼,比如說裝的是什麼包?
    這是我的方案,可以試試:

    node-gyp --target=1.3.5 --runtime=electron --fallback-to-build --directory ./node_modules/node-sass --dist-url=https://gh-contractor-zcbenz.s3.amazonaws.com/atom-shell/dist configure
    node-gyp --target=1.3.5 --runtime=electron --fallback-to-build --directory ./node_modules/node-sass --dist-url=https://gh-contractor-zcbenz.s3.amazonaws.com/atom-shell/dist  rebuild

    target 是electron的版本號碼

    然後注意node-sass 預設下載已編譯好的二進位文件,所以需要重新指定,我的辦​​法如下,不唯一:

    process.env.SASS_BINARY_PATH = path.join(__dirname, './node_modules/node-sass/build/Release/binding.node');

    回覆
    0
  • 天蓬老师

    天蓬老师2017-04-17 15:34:43

    有一點你需要知道,直接切換node版本,node_modules安裝的模組是无法使用的。
    node4.x裝的node_model,切換6.x版本無法正常使用,需要删掉重新npm install
    所以我建議你把本地升級到6.x,安裝模組再打包應用程式(nvm可以幫你管理多個node版本的安裝切換)。

    回覆
    0
  • 取消回覆