什么是node-gyp?
gyp是一種根據(jù)c++源代碼編譯的工具,node-gyp就是為node編譯c++擴(kuò)展的時(shí)候使用的編譯工具。
最近在研究native script需要使用到node-gyp,遇到一些問題所以將解決方案記錄在這里。
windows下的安裝方法
這是為node編譯c++擴(kuò)展的工具所以你肯定是有node環(huán)境的,這時(shí),使用npm全局安裝即可。
npm install -g node-gyp
到這里我們還不可以進(jìn)行編譯,因?yàn)閚ode-gyp需要依賴python2.7和微軟的vc++構(gòu)建工具來進(jìn)行編譯,這在linux系統(tǒng)上沒問題,因?yàn)閘inux上都默認(rèn)安裝了,但是windows操作系統(tǒng)在默認(rèn)情況下不會(huì)安裝python2.7和vc++構(gòu)建工具。
為node-gyp配置安裝python2.7以及VC++ build Tools依賴
方法一
同樣使用npm
npm install --global --production windows-build-tools
直接在cmd當(dāng)中輸入上面的指令就可以了,但是這種方法是從外國(guó)的服務(wù)器上下載資源,速度會(huì)相當(dāng)?shù)穆?。所以?guó)內(nèi)的用戶我推薦第二種方法
方法二
方法二會(huì)相對(duì)麻煩一點(diǎn)
首先,Visual C++ Build Tools從微軟官方網(wǎng)站下載vc++構(gòu)建工具,安裝的時(shí)候使用默認(rèn)安裝就可以了,這個(gè)步驟比較簡(jiǎn)單。和安裝vs一樣只需要等待就可以了。
然后,我們?nèi)ython的官方網(wǎng)站下載python2.7(如果服務(wù)器軟件不支持python2.7可能都無從下載了。)python官方網(wǎng)站下載python2.7.然后默認(rèn)安裝,安裝的時(shí)候會(huì)有一個(gè)選項(xiàng)是添加PATH可以勾選,但是安裝完以后還是要去環(huán)境變量里面查看一下是否添加了。
根據(jù)安裝包安裝好以后配置環(huán)境變量,如果之前安裝過python3的話,可以直接進(jìn)入到python3的文件夾當(dāng)猴子那個(gè)將python.exe改名為python3.exe,以后在cmd當(dāng)中使用的時(shí)候直接輸入python進(jìn)入的是python2.7,輸入python3進(jìn)入的就是python3了。這里對(duì)環(huán)境變量不太了解的可以百度一下,很簡(jiǎn)單。
配置依賴
依賴安裝好了以后要配置一下依賴,讓node-gyp可以找到依賴方法很簡(jiǎn)單。
打開cmd輸入:
npm config set python python2.7
配置好python
npm config set msvs_version 2015
配置好c++構(gòu)建工具
如果不出意外的話我們就可以用node-gyp進(jìn)行構(gòu)建了。
如果出現(xiàn)問題可以參考node-gyp的github主頁。
總結(jié)
native script在構(gòu)建依賴環(huán)境的時(shí)候需要使用到node-gyp自動(dòng)安裝的時(shí)候會(huì)自動(dòng)下載和安裝node-gyp但是鏈接國(guó)外的網(wǎng)站實(shí)在太慢了,所以自己去查了資料手動(dòng)安裝,還是迅雷下載塊。最后將經(jīng)驗(yàn)記錄在此。