Windows npm install node-gyp error: libxslt command failed

Windows npm install node-gyp error: libxslt command failed

在过去的几天里,我一直在尝试在我的 Windows 10 VM 上安装 node/npm,但我已经尝试了我发现的所有方法,但都没有成功。

我遵循 node-gyp setup instructions for Windows which say to install Python3.7. The npm microsoft-build-tools 现在已弃用并使用 Microsoft 安装程序(我使用过)安装。我还通过 visual studio 安装了该工具,并尝试 npm config set msvs_version 2015 -g 尝试 2015/2017。我有 node -v v16.13.1node-gyp -v v8.4.1npm 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 Studio17\BuildTools"

npm ERR! gyp ERR! stack Error: `C:\Program Files (x86)\Microsoft Visual Studio17\BuildTools\MSBuild.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

none 围绕 npm rebuild/deleting node_modules 的解决方案有效,因为在 npm install 失败后它会擦除它添加的 node_modules。有什么建议吗?无论如何要使用替代库?

已修复:问题原来不是构建工具本身,而是构建工具试图构建的模块。我删除了依赖项 libxsltxmlxml-parserxml2jsxmltojson。核心问题是 libxslt 并且出于某种原因 npm 试图找到该模块的一个不存在的分支。我在尝试在 WSL 上安装它时遇到了同样的问题,但删除这些软件包可以解决所有问题

问题出在 python 和您的 VS 工具上。 在 windows 上为我工作:

  • 卸载node.js

  • 卸载python

  • 卸载 VS 构建工具

  • 清除注册表 然后重新启动您的机器并尝试按照以下顺序安装:

    1. 安装python设置可执行路径
    1. 安装 VS 构建工具(最新)
    1. 安装 node.js(最新的 LTS 版本)小心 angular CLI 和一些其他东西不适用于最新的非 LTS node.js

然后重启你的机器。 尝试 运行 npm install

也尽量不要从桌面使用 npm 安装。

比post你的包裹json更可取。

已修复:问题原来不是构建工具本身,而是构建工具试图构建的模块。我删除了依赖项 libxslt、xml、xml-parser、xml2js 和 xmltojson。核心问题是 libxslt,出于某种原因,npm 试图找到该模块的一个不存在的分支。我在尝试在 WSL 上安装它时遇到了同样的问题,但是删除这些软件包可以解决所有问题

这个问题一直困扰着我,我把node JS版本降到12.13.0来解决这个问题