【问题标题】:Troubles with NPM and node-gyp in WindowsWindows 中 NPM 和 node-gyp 的问题
【发布时间】:2023-04-07 01:24:01
【问题描述】:

我的 Windows 工作站上的 npm 包有些问题...我的 package.json 文件中有一组 NPM 依赖项:

“开发依赖”:{ "babel-plugin-transform-react-jsx": "^6.2.0", "babel-preset-es2015": "^6.1.18", "babel-preset-react": "^6.1.18", “咕噜”:“^0.4.5”, "grunt-babel": "^6.0.0", "grunt-contrib-connect": "^0.11.2", "grunt-contrib-jasmine": "^0.9.2", “咕噜声”:“^0.9.2”, "grunt-contrib-watch": "^0.6.1", “咕噜执行”:“^0.4.6”, "grunt-template-jasmine-requirejs": "^0.2.3", “业力铬发射器”:“^0.2.2”, “业力火狐启动器”:“^0.1.7”, “因果报应”:“^0.2.2”, "requirejs": "^2.1.22", "grunt-contrib-jshint": "^0.11.3", “咕噜声”:“^0.12.1”, “业力”:“^0.13.15”, “业力茉莉花”:“^0.3.6”, “karma-phantomjs-launcher”:“^0.2.1” }

当我尝试运行 npm install 时,我收到与 node-gyp 包相关的奇怪错误,以及类似 \msbuild.exe 的错误。

这是错误:

c:\Users\dmytro.medvid\sites\evolution\node_modules\utf-8-validate>如果未定义 npm_config_node_gyp (node "c:\Program Files\nodejs\node_modules\npm\bin\node-gyp -bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" 重建)否则(节点重建) 一次在此解决方案中构建项目。要启用并行构建,请添加“/m”开关。 c:\Users\dmytro.medvid\sites\evolution\node_modules\utf-8-validate\build\validation.vcxproj(20,3):错误 MSB4019:导入的项目“c:\Microsoft.Cpp.Default. props" 未找到。请确认声明中的路径正确,并且该文件存在于磁盘上。 吉普错误!构建错误 吉普错误!堆栈错误:`C:\windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe` 失败,退出代码:1 吉普错误! ChildProcess.onExit 处的堆栈(c:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:270:23) 吉普错误!堆栈在 emitTwo (events.js:87:13) 吉普错误! ChildProcess.emit (events.js:172:7) 的堆栈 吉普错误!堆栈在 Process.ChildProcess._handle.onexit (internal/child_process.js:200:12) 吉普错误!系统 Windows_NT 6.1.7601 吉普错误!命令 "c:\\Program Files\\nodejs\\node.exe" "c:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp. js" "重建" 吉普错误! cwd c:\Users\dmytro.medvid\sites\evolution\node_modules\utf-8-validate 吉普错误!节点-v v5.1.0 吉普错误!节点gyp -v v3.0.3 吉普错误!不好 npm WARN install:utf-8-validate@1.2.1 utf-8-validate@1.2.1 install: `node-gyp rebuild` npm WARN install:utf-8-validate@1.2.1 退出状态1 npm WARN EPACKAGEJSON evolution@1.0.0 没有存储库字段。

有人可以帮助解决这个问题吗?我不是经验丰富的 Windows 用户,但目前我应该使用 Windows :(

更新:这是errors log,我每次都会更新新的 NPM 错误。

系统详情: Windows 7 Enterprice 64 位操作系统

节点版本: v5.1.0

NPM 版本: v3.3.12

Python 版本: v2.7.1

我还安装了Microsoft Visual C++ build tools(在下面的答案中提供)。 14.0版

【问题讨论】:

标签: node.js gruntjs npm grunt-contrib-watch


【解决方案1】:

您需要与 Visual Studio 一起打包的 Microsoft Visual C++ 构建工具。但是,它们现在也可作为 standalone download 使用。安装这些工具并重新启动计算机后,您应该能够在后台安装使用 node-gyp 的软件包。

【讨论】:

  • 感谢您的回答。现在就试试。为什么在Windows下工作这么痛苦?
  • 我安装了这个扩展,看起来它有助于解决问题。但是我得到了一个与 node-gyp 相关的新...这是错误日志,我将其提交给 Git:github.com/web-jenezis/jenezis-project-bootstrap/blob/master/…
  • 应该可以,尝试删除 node_modules 并运行npm cache clean
  • 感谢您的回答。我这样做了,但我得到了 msbuild 工具的错误......我还用最后一个错误 (github.com/web-jenezis/jenezis-project-bootstrap/blob/master/…) 更新了错误日志。不知道为什么会发生...请您检查错误日志并尝试帮助我解决此问题
  • 你可以试试npm i utf-8-validate --msvs_version=2015
【解决方案2】:

我创建了一个issue on github for node-gyp。还有here is a disscussion 的类似问题。可能它对我没有帮助,但也许对其他人有用。

【讨论】:

    【解决方案3】:

    在管理员命令提示符下编写这些代码:

    npm install --global --production windows-build-tools
    

    然后回车。

    【讨论】:

    • 我需要为此重新启动机器吗?我运行了那个,但仍然出现错误。
    【解决方案4】:

    Windows 在管理工具中打开 PowerShell 并运行此命令

    npm install --global --production windows-build-tools 
    

    【讨论】:

      【解决方案5】:

      来自官网:https://www.npmjs.com/package/node-gyp

      您应该执行以下命令:(在我的计算机中,我安装了vc2015)

      $ node-gyp configure --msvs_version=2015

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-03-14
        • 2023-03-18
        • 2022-08-11
        • 2023-04-03
        • 2018-03-28
        相关资源
        最近更新 更多