node ccap node-gyp 安裝 問題 解決方案

前言

登錄需要用到驗證碼。項目組的程序已經(jīng)使用了ccap這個庫。因此,著手進行安裝。由于這個庫調(diào)用了CImg這個c++模塊,因此,需要調(diào)用node-gyp環(huán)境對ccap進行編譯。進一步說,凡是用到node-gyp這個環(huán)境的,都會需要c++編譯器,因此,可能會在安裝中遇到各種問題,在此我簡單說一下我遇到的問題和解決方案。(這里說的不僅僅是ccap這一個庫的安裝問題,這里說的是幾乎所有的node-gyp的c++編譯依賴問題。本文,主要還是偏向于解決win上的node-gyp編譯出錯的問題,linux上出錯的幾率小的多

問題

如果安裝環(huán)境不達標的話,會報錯,下邊就是報錯。這個出錯可能是因為,沒有python依賴、c++依賴等原因造成的。下邊有解決方案。

安裝出錯

解決

為了完美解決這個問題,我重新安裝了操作系統(tǒng),從頭開始安裝環(huán)境,力爭將各種影響因素降到最低。于是,我在一個全新的,干凈的環(huán)境下,進行了如下操作。

1.安裝node(我安裝的是node 8.9.4 LTS,這里不需要像網(wǎng)上說的安裝什么32位的版本,64位的就行)
2.安裝python 2.7.*(我安裝的是python 2.7.14)
3.安裝c++編譯器,如果沒有安裝c++編譯器,就會出現(xiàn)前邊的那個上一節(jié)的那個錯誤。linux這邊需要安裝gcc,至于win的話,我還需要進一步說明一下:

首先,對于win系統(tǒng),是不需要像網(wǎng)上說的那樣安裝visual studio 201x的,這就是說我們不需要安裝一個完整的vs,只需要安裝visual c++ 201x build tools就可以了,也就是只需要安裝c++編譯器。只安裝編譯器的話,加上下載,最多只需要30分鐘,很快就可以解決問題,節(jié)省我們寶貴的時間。(我安裝的是visual c++ 2013 build tools 地址是https://www.microsoft.com/en-us/download/confirmation.aspx?id=40760,大家安裝其他的也都大同小異,最低到2005,我這邊同事2017也有編譯過去的,推薦2013或者2015)

如果是win,還需要設置一下msvs的環(huán)境,執(zhí)行npm config set msvs_version 2013 -g,這樣,以后node-gyp都會調(diào)用這個c++編譯器來編譯node下的c++模塊了。

set VCTargetsPath=C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v140
npm config set msvs_version 2015 --global
npm install --msvs_version=2015
node ccap 安裝 問題 解決方案

其他問題

我看了看網(wǎng)上說的其他問題,在這里總結(jié)一下:

問題 解決
MSBUILD : error MSB6006: “VCBuild.exe”已退出,代碼為 -1。[C:\Users\pc\AppData\Roamingnpm\node_modules\ccap\build\binding.sln] 這個問題是制定了錯誤的VC編譯器,我猜測可能是安裝了多個VS環(huán)境造成的。我解決這個問題,是通過將全部的VS都刪除之后,單獨只安裝VC++編譯器的方式解決問題的,另外,還要將msvs的環(huán)境設置一下
CL.exe找不到 這個問題是你的安裝包中的CL.exe依賴出現(xiàn)了問題,或者說,你在安裝vs的過程中出錯了,或者是你的操作系統(tǒng)本身就有問題,已經(jīng)缺少了必要的文件。解決這個問題,最快捷的方法是手工將程序覆蓋一遍,如果不行,請刪除vs重新安裝,并確保安裝過程不出問題。

除此之外,還有ms資源找不到的,大概都可以通過重新安裝msvs來解決。實在不行,就從新做個環(huán)境(虛擬機),然后,按照正確的步驟安裝依賴就好了。

stack Error: C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe failed with exit code: 1

有的時候,還需要以管理員身份運行cmd,然后執(zhí)行下方的命令,安裝工具

# before installing node-gyp on windows
npm install --global --production windows-build-tools
 
# install node-gyp globally
npm install -g node-gyp

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。