electron-rebuild編譯node-ffi遇到的坑(node-gyp)

在能夠正常使用node-ffi的日子裏過於膨脹,導致在家使用node-ffi遭到了毀滅性打擊,用時5個晚上終於把問題解決了,下面記錄一下遇到的坑

clipboard.png

1、因爲之前下載過windows-build-tools所以python 和 vs2015是有安裝的,所以不在安裝
以管理員身份運行命令行 執行 npm install --global windows-build-tools

2、安裝node-gyp
npm install -g node-gyp (好吧,本來用yarn安裝的,後來被整奔潰了,換npm好了)

3、好了下來在node-gyp目錄下創建binding.gyp文件,文件和package.json同級

// binding.gyp
{
  "targets": [
    {
      "target_name": "binding",
      "sources": [ "src/binding.cc" ]
    }
  ]
}

npm查看全局安裝目錄npm root -g
yarn查看全局安裝目錄yarn global dir

python問題

第一個問題是python路徑的問題
根據node-gyp的提示 設置python路徑 npm config set python %python%\python.exe(%python% === 你python文件安裝路徑);
你以爲這樣就完了?

clipboard.png

好吧,依然報python不存在,好吧!設置環境變量

clipboard.png

clipboard.png

clipboard.png
嗯這樣第一個python路徑的問題就圓滿解決了
設置完環境變量記得重啓命令行!
設置完環境變量記得重啓命令行!
設置完環境變量記得重啓命令行!

node-gyp問題

在看到python路徑問題後, 你還會遇到找不到`node-gyp的問題

clipboard.png

有了python的設置經驗,這個完全沒什麼難度
上圖

clipboard.png

好了,保存隨便找個目錄運行 node-gyp build
設置完環境變量記得重啓命令行!
設置完環境變量記得重啓命令行!
設置完環境變量記得重啓命令行!

clipboard.png
當你看到這個的時候,就沒問題了,好下來我們到目錄下開始安裝依賴
上配置

  "scripts": {
    "start": "electron .",
    "rebuild": ".\\node_modules\\.bin\\electron-rebuild.cmd"
  },
  "dependencies": {
    "electron": "4.0.0",
    "ffi": "2.3.0",
    "electron-rebuild": "^1.8.5",
    "ref": "^1.3.5"
  }

運行,編譯成功

編譯時檢索不到依賴樹

第一次編譯的時候在尋找依賴樹的時候並沒有編譯ffi,當時很納悶,直到後來終於找到原因,因爲剛開始使用cnpm所以--save的時候並不往dependencies下插入,所以習慣性的插入到devDependencies下,導致編譯的時候找不到依賴樹,被自己蠢哭了

clipboard.png

electron 5.x 編譯失敗

2019-7-15 22:14 node-ffi目前是不支持node>10.x;而electron用的是node12所以目前還不支持,你問我前面的時間幹嘛? 當然是防止以後一不小心誤人子弟呀!

好了,錯誤總結大會就此告一段落,謝謝大家觀看

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章