node-gyp 是否带有 npm?

问题描述

我面临的问题是 npm install 在本地使用 npm v6.14.9 没有提供太多输出,但是在部署到服务器时它会提供一些无意义的输出,例如

gyp info spawn args ['some properties about Release']
make: entering directory 'directory'

然后输出大量关于 node-gyp.cpp files输出,这在我的项目中不存在。我的目标是删除这些输出。仅供参考,安装总是成功。

解决方法

node-gyp 是 npm 的重要组成部分。

一些 npm 包中带有原生代码,而不是 Javascript 代码。 node-gyp 的任务是编译该代码并使其可用于您的机器。必须编译代码,因为包作者不知道您是否会在 MacO、Windows、Linux 或任何操作系统上运行您的代码,并且这些系统之间可运行的代码不同。

node-gyp 不是轻量级工具。它需要 python 和 C++ 工具链。但是,如果你使用一个需要它的包,你就需要它。 lzma-native 就是这样一种包。各种图像处理包也需要它。

如果您不想使用 node-gyp,您必须从您的项目中删除使用它的包。

很高兴您的 npm install 成功了。否则,您将面临一项具有挑战性的故障排除任务。

专业提示将您的 nodejs 项目想象成散落在河中的花朵。花朵是您的代码,河流是您的包、nodejs 运行时和您使用的浏览器。 “嘿,这是湿的!我想要它。”通常不是理解事物的有用方式。