異常:關于node-gyp

很懵由缆!感覺很突然,之前還是好用的 最近在npm install之后項目就不能運行了谓厘。【具體造成的原因還不知道(難道是因為node\npm升級了導致寸谜?)竟稳,希望有遇到的大胸弟能指點一二】

問題:

異常如下(這還是縮減版【手動笑哭.png】)

gyp verb check python checking for Python executable "python2" in the PATH
gyp verb `which` failed Error: not found: python2
gyp verb `which` failed     at getNotFoundError (F:\company_project\xiexin\trunk\app\xxsdapp\node_modules\which\which.js:13:12)
gyp verb `which` failed     at F (F:\company_project\xiexin\trunk\app\xxsdapp\node_modules\which\which.js:68:19)
gyp verb `which` failed     at E (F:\company_project\xiexin\trunk\app\xxsdapp\node_modules\which\which.js:80:29)
gyp verb `which` failed     at F:\company_project\xiexin\trunk\app\xxsdapp\node_modules\which\which.js:89:16
gyp verb `which` failed     at F:\company_project\xiexin\trunk\app\xxsdapp\node_modules\isexe\index.js:42:5
gyp verb `which` failed     at F:\company_project\xiexin\trunk\app\xxsdapp\node_modules\isexe\windows.js:36:5
gyp verb `which` failed     at FSReqWrap.oncomplete (fs.js:154:21)
gyp verb `which` failed  python2 { Error: not found: python2
gyp verb `which` failed     at getNotFoundError (F:\company_project\xiexin\trunk\app\xxsdapp\node_modules\which\which.js:13:12)
gyp verb `which` failed     at F (F:\company_project\xiexin\trunk\app\xxsdapp\node_modules\which\which.js:68:19)
gyp verb `which` failed     at E (F:\company_project\xiexin\trunk\app\xxsdapp\node_modules\which\which.js:80:29)
gyp verb `which` failed     at F:\company_project\xiexin\trunk\app\xxsdapp\node_modules\which\which.js:89:16
gyp verb `which` failed     at F:\company_project\xiexin\trunk\app\xxsdapp\node_modules\isexe\index.js:42:5
gyp verb `which` failed     at F:\company_project\xiexin\trunk\app\xxsdapp\node_modules\isexe\windows.js:36:5
gyp verb `which` failed     at FSReqWrap.oncomplete (fs.js:154:21)
gyp verb `which` failed   stack:
gyp verb `which` failed    'Error: not found: python2\n    at getNotFoundError (F:\\company_project\\xiexin\\trunk\\app\\xxsdapp\\node_modules\\which\\which.js:13:12)\n    at F (F:\\com
pany_project\\xiexin\\trunk\\app\\xxsdapp\\node_modules\\which\\which.js:68:19)\n    at E (F:\\company_project\\xiexin\\trunk\\app\\xxsdapp\\node_modules\\which\\which.js:80:29)\n    at
 F:\\company_project\\xiexin\\trunk\\app\\xxsdapp\\node_modules\\which\\which.js:89:16\n    at F:\\company_project\\xiexin\\trunk\\app\\xxsdapp\\node_modules\\isexe\\index.js:42:5\n
at F:\\company_project\\xiexin\\trunk\\app\\xxsdapp\\node_modules\\isexe\\windows.js:36:5\n    at FSReqWrap.oncomplete (fs.js:154:21)',
gyp verb `which` failed   code: 'ENOENT' }
gyp verb check python checking for Python executable "python" in the PATH
gyp verb `which` succeeded python C:\Python27\python.EXE
gyp verb check python version `C:\Python27\python.EXE -c "import sys; print "2.7.15
gyp verb check python version .%s.%s" % sys.version_info[:3];"` returned: %j
gyp verb get node dir no --target version specified, falling back to host node version: 10.15.0
gyp verb command install [ '10.15.0' ]
gyp verb install input version string "10.15.0"
gyp verb install installing version: 10.15.0
gyp verb install --ensure was passed, so won't reinstall if already installed
gyp verb install version is already installed, need to check "installVersion"
gyp verb got "installVersion" 9
gyp verb needs "installVersion" 9
gyp verb install version is good
gyp verb get node dir target node version installed: 10.15.0
gyp verb build dir attempting to create "build" dir: F:\company_project\xiexin\trunk\app\xxsdapp\node_modules\node-sass\build
gyp verb build dir "build" dir needed to be created? F:\company_project\xiexin\trunk\app\xxsdapp\node_modules\node-sass\build
gyp verb Not using VS2017: Could not use PowerShell to find VS2017
gyp verb build/config.gypi creating config file
gyp verb build/config.gypi writing out config file: F:\company_project\xiexin\trunk\app\xxsdapp\node_modules\node-sass\build\config.gypi
gyp verb config.gypi checking for gypi file: F:\company_project\xiexin\trunk\app\xxsdapp\node_modules\node-sass\config.gypi
gyp verb common.gypi checking for gypi file: F:\company_project\xiexin\trunk\app\xxsdapp\node_modules\node-sass\common.gypi
gyp verb gyp gyp format was not specified; forcing "msvs"
gyp info spawn C:\Python27\python.EXE
gyp info spawn args [ 'F:\\company_project\\xiexin\\trunk\\app\\xxsdapp\\node_modules\\node-Dnode_gyp_dir=F:\\company_project\\xiexin\\trunk\\app\\xxsdapp\\node_modules\\node-gyp',
gyp info spawn args   '-Dnode_lib_file=C:\\Users\\curry\\.node-gyp\\10.15.0\\<(target_arch)\\node.lib',

在此解決方案中一次生成一個項目。若要啟用并行生成,請?zhí)砑印?m”開關他爸。
生成啟動時間為 2019/2/21 9:56:01聂宾。
節(jié)點 1 上的項目“F:\company_project\xiexin\trunk\app\xxsdapp\node_modules\node-sass\build\binding.sln”(默認目標)。
ValidateSolutionConfiguration:
  正在生成解決方案配置“Release|x64”诊笤。
MSBUILD : error MSB3428: 未能加載 Visual C++ 組件“VCBuild.exe”系谐。要解決此問題,1) 安裝 .NET Framework 2.0 SDK盏混;2) 安裝 Microsoft Visual Studio 2005;或 3) 如果將該組件安裝到了其他位置
惜论,請將其位置添加到系統(tǒng)路徑中许赃。 [F:\company_project\x
iexin\trunk\app\xxsdapp\node_modules\node-sass\build\binding.sln]
已完成生成項目“F:\company_project\xiexin\trunk\app\xxsdapp\node_modules\node-sass\build\binding.sln”(默認目標)的操作 - 失敗。


生成失敗馆类。

“F:\company_project\xiexin\trunk\app\xxsdapp\node_modules\node-sass\build\binding.sln”(默認目標) (1) ->
(_src_\libsass 目標) -> 
  MSBUILD : error MSB3428: 未能加載 Visual C++ 組件“VCBuild.exe”混聊。要解決此問題,1) 安裝 .NET Framework 2.0 SDK乾巧;2) 安裝 Microsoft Visual Studio 2005句喜;或 3) 如果將該組件安裝到了其他位
置,請將其位置添加到系統(tǒng)路徑中沟于。 [F:\company_project
\xiexin\trunk\app\xxsdapp\node_modules\node-sass\build\binding.sln]

    0 個警告
    1 個錯誤

已用時間 00:00:00.27
gyp ERR! build error
gyp ERR! stack Error: `C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (F:\company_project\xiexin\trunk\app\xxsdapp\node_modules\node-gyp\lib\build.js:262:23)
gyp ERR! stack     at ChildProcess.emit (events.js:182:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:240:12)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "F:\\company_project\\xiexin\\trunk\\app\\xxsdapp\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=
" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd F:\company_project\xiexin\trunk\app\xxsdapp\node_modules\node-sass
gyp ERR! node -v v10.15.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok

看到這異常咳胃,內心N只***。但是異常還是能看懂的旷太。

  • 首先 python找不到展懈;
  • 其次 很明顯的中文提示: 未能加載 Visual C++ 組件“VCBuild.exe”;
  • 最終都是與 gyp...有關的(之前從沒有注意到這個插件供璧,也不記得安裝過此插件 ·_·)

解決:

通過科學地搜索node-gyp, 發(fā)現(xiàn)github有詳細安裝此工具的步驟存崖。github地址

此處僅列出Window環(huán)境安裝:

  • 安裝gyp命令 npm install -g node-gyp (項目莫名的已有此插件,跳過);
  • 安裝Visual C ++構建環(huán)境:Visual Studio構建工具
  • 安裝Python 2.7v3.x.x不支持)睡毒,安裝后要配置環(huán)境變量来惧。成功后執(zhí)行npm config set python python2.7
  • 執(zhí)行 npm config set msvs_version 2017

上述步驟全部執(zhí)行且成功后,項目恢復如初演顾。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末供搀,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子钠至,更是在濱河造成了極大的恐慌趁曼,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件棕洋,死亡現(xiàn)場離奇詭異挡闰,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門摄悯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來赞季,“玉大人,你說我怎么就攤上這事奢驯∩旯常” “怎么了?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵瘪阁,是天一觀的道長撒遣。 經常有香客問我,道長管跺,這世上最難降的妖魔是什么义黎? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮豁跑,結果婚禮上廉涕,老公的妹妹穿的比我還像新娘。我一直安慰自己艇拍,他們只是感情好狐蜕,可當我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著卸夕,像睡著了一般层释。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上快集,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天湃累,我揣著相機與錄音,去河邊找鬼碍讨。 笑死治力,一個胖子當著我的面吹牛,可吹牛的內容都是我干的勃黍。 我是一名探鬼主播宵统,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼覆获!你這毒婦竟也來了马澈?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤弄息,失蹤者是張志新(化名)和其女友劉穎痊班,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體摹量,經...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡涤伐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年馒胆,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片凝果。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡祝迂,死狀恐怖,靈堂內的尸體忽然破棺而出器净,到底是詐尸還是另有隱情型雳,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布山害,位于F島的核電站纠俭,受9級特大地震影響,放射性物質發(fā)生泄漏浪慌。R本人自食惡果不足惜冤荆,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望眷射。 院中可真熱鬧匙赞,春花似錦佛掖、人聲如沸妖碉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽欧宜。三九已至,卻和暖如春拴魄,著一層夾襖步出監(jiān)牢的瞬間冗茸,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工匹中, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留夏漱,地道東北人。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓顶捷,卻偏偏與公主長得像挂绰,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子服赎,可洞房花燭夜當晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內容