在能夠正常使用node-ffi的日子裏過於膨脹,導致在家使用node-ffi遭到了毀滅性打擊,用時5個晚上終於把問題解決了,下面記錄一下遇到的坑
1、因爲之前下載過windows-build-tools所以python 和 vs2015是有安裝的,所以不在安裝
以管理員身份運行命令行 執行 npm install --global windows-build-tools
2、安裝node-gypnpm 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文件安裝路徑);
你以爲這樣就完了?
好吧,依然報python不存在,好吧!設置環境變量
嗯這樣第一個python路徑的問題就圓滿解決了
設置完環境變量記得重啓命令行!
設置完環境變量記得重啓命令行!
設置完環境變量記得重啓命令行!
node-gyp問題
在看到python
路徑問題後, 你還會遇到找不到`node-gyp的問題
有了python
的設置經驗,這個完全沒什麼難度
上圖
好了,保存隨便找個目錄運行 node-gyp build
設置完環境變量記得重啓命令行!
設置完環境變量記得重啓命令行!
設置完環境變量記得重啓命令行!
當你看到這個的時候,就沒問題了,好下來我們到目錄下開始安裝依賴
上配置
"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
下,導致編譯的時候找不到依賴樹,被自己蠢哭了
electron 5.x 編譯失敗
2019-7-15 22:14
node-ffi
目前是不支持node>10.x
;而electron
用的是node12
所以目前還不支持,你問我前面的時間幹嘛? 當然是防止以後一不小心誤人子弟呀!
好了,錯誤總結大會就此告一段落,謝謝大家觀看