Windows npm install node-gyp 错误:libxslt 命令失败

Posted

技术标签:

【中文标题】Windows npm install node-gyp 错误:libxslt 命令失败【英文标题】:Windows npm install node-gyp error: libxslt command failed 【发布时间】:2022-01-15 07:15:24 【问题描述】:

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

我按照node-gyp setup instructions for Windows 说要安装Python3.7。 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 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。请问有什么建议吗?无论如何要使用替代库?

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

【参考方案2】:

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

卸载 node.js

卸载python

卸载 VS 构建工具

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

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

然后重新启动您的机器。 尝试运行npm install

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

最好发布你的包 json。

【讨论】:

谢谢!我刚刚用修复更新了我的帖子,这只是一些我无法在 Windows 上构建的麻烦模块

以上是关于Windows npm install node-gyp 错误:libxslt 命令失败的主要内容,如果未能解决你的问题,请参考以下文章

需要 node-gyp 的 npm install 在 Windows 上失败

[坑况]——windows升级node最新版本报错npm install -g n

linux Install nvm, node.js, and npm

删除 node_modules 后如何解决 npm install 问题

npm install:无法在 Windows 10 中安装依赖项

npm install - javascript堆内存不足