[英]"npm install" don't install file node_mdule (node-gyp error)
[英]Windows npm install node-gyp error: libxslt command failed
在過去的幾天里,我一直在嘗試在我的 Windows 10 VM 上安裝 node/npm,但我已經嘗試了我發現的所有方法,但都沒有成功。
我按照 Windows 的node-gyp 安裝說明進行操作,其中說明要安裝 Python3.7。 npm microsoft-build-tools現已棄用,並使用 microsoft 安裝程序(我使用過)安裝。 我還通過 visual studio 安裝了該工具,並嘗試npm config set msvs_version 2015 -g
來嘗試 2015/2017。 我有node -v v16.13.1
, node-gyp -v v8.4.1
, npm 8.2
。 每次我嘗試npm install
,我都會不斷獲得相同的堆棧跟蹤
C:\Users\dperrone1\Desktop\project\node_modules\libxslt
npm ERR! command failed
LINK : fatal error LNK1181: cannot open input file 'C:\Users\dperrone1\Desktop\project\node_modules\node1-libxmljsmt-myh\build\Release\xmljs-myh.lib' [C:\Users\dperrone1\Desktop\project\node_modules\libxslt\build\node-libxslt.vcxproj]
npm ERR! gyp info find Python using Python version 3.10.1 found
gyp info find VS using VS2017 (15.9.28307.1745) found at:
npm ERR! gyp info find VS "C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools"
npm ERR! gyp ERR! stack Error: `C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe` failed with exit code: 1
"C:\\Users\\dperrone1\\AppData\\Roaming\\npm\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
npm ERR! gyp ERR! cwd C:\Users\dperrone1\Desktop\project\node_modules\libxslt
npm 重建/刪除 node_modules 周圍的解決方案都不起作用,因為在npm install
失敗后,它會擦除它添加的 node_modules。 有什么建議嗎? 無論如何要使用替代庫?
已修復:問題原來不是構建工具本身,而是構建工具試圖構建的模塊。 我刪除了依賴項libxslt
、 xml
、 xml-parser
、 xml2js
和xmltojson
。 核心問題是libxslt
,出於某種原因 npm 試圖找到該模塊的一個不存在的分支。 我在嘗試在 WSL 上安裝它時遇到了同樣的問題,但是刪除這些包可以解決所有問題
修正:問題原來不是構建工具本身,而是構建工具試圖構建的模塊。 我刪除了依賴項 libxslt、xml、xml-parser、xml2js 和 xmltojson。 核心問題是 libxslt 並且出於某種原因 npm 試圖找到該模塊不存在的分支。 我在嘗試在 WSL 上安裝它時遇到了同樣的問題,但是刪除這些軟件包可以解決所有問題
問題是 python 和您的 VS 工具。 在 windows 上為我工作:
卸載 node.js
卸載 python
卸載 VS 構建工具
清除注冊表然后重新啟動您的機器並嘗試按照以下順序安裝:
然后重啟你的機器。 嘗試運行npm install
也盡量不要使用 npm 從桌面安裝。
最好發布您的 package json。
這個問題一直困擾着我,我把node JS版本降到12.13.0解決了這個問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.