问题描述
我面临的问题是 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 运行时和您使用的浏览器。 “嘿,这是湿的!我想要它干。”通常不是理解事物的有用方式。