什么是node-gyp?
gyp是一種根據(jù)c++源代碼編譯的工具,node-gyp就是為node編譯c++擴(kuò)展的時(shí)候使用的編譯工具虚青。
最近在研究native script需要使用到node-gyp框全,遇到一些問(wèn)題所以將解決方案記錄在這里哑诊。
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)建工具來(lái)進(jìn)行編譯,這在linux系統(tǒng)上沒(méi)問(wèn)題,因?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ù)穆取K試?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可能都無(wú)從下載了。)python官方網(wǎng)站下載python2.7.然后默認(rèn)安裝社露,安裝的時(shí)候會(huì)有一個(gè)選項(xiàng)是添加PATH可以勾選挟阻,但是安裝完以后還是要去環(huán)境變量里面查看一下是否添加了。
根據(jù)安裝包安裝好以后配置環(huán)境變量峭弟,如果之前安裝過(guò)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)單。
打開(kāi)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)問(wèn)題可以參考node-gyp的github主頁(yè)竟秫。
總結(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)記錄在此。