【发布时间】:2017-02-05 23:15:00
【问题描述】:
谁能解释一下node-gyp 是什么以及为什么它使用我的系统文件来构建 Node.JS 包。
- 如果我构建了一个节点项目并且它在内部使用了
node-gyp。 - 然后我只是将该项目 tar 并移至不同的系统
- 我在那里解压并尝试使用它
这种方法行得通吗?
【问题讨论】:
-
在其 github 页面上有描述:github.com/nodejs/node-gyp。基本上,
node-gyp就像make。它是用于控制 C++ 项目的编译过程的工具。只是,它是专门为 node.js 插件(用 C++ 编写的模块)设计的。因此,如果它使用相同的 CPU,移动到不同的系统可能会起作用。移动到不同的操作系统或 CPU(例如从 x86 到 ARM)将不起作用。对于 Linux,迁移到同一发行版的不同版本的不同发行版可能有效,也可能无效。我不是 100% 确定迁移到不同版本的 node.js 是否可行 -
当我运行
yarn why node-gyp时返回:因为node-sass,所以我确信它还有其他用途,但如果您或您爱的人被诊断出,它可能在您的项目中sass. -
@slebetman 移动到不同的节点版本将不起作用,不确定这是否 100% 正确,但根据我的经验,您需要在升级 nodejs 版本后删除旧的 node-gyp 并在模块安装期间在后台自动重新构建。
-
为什么总是坏掉?