如何在安装前正确编译nodejs软件包?

时间:2018-07-11 10:41:48

标签: node.js npm

我正在尝试修复cspell package which fails to install from git clone中的错误,并且面临一个难题。

我发现安装程序希望从干净克隆中不存在的dist /文件夹中复制文件,因为它是通过运行npm compile

生成的

因此,我决定将其添加到package.json脚本部分:

"preinstall": "npm run compile"

主要在运行安装之前,它应该运行编译,我知道这会生成所需的文件。

现在,我遇到了一个新问题:由于缺少“ tsc”命令,编译失败。我看了一下,显然这是由typescript包提供的,它被列为devDependency。因为它丢失了,所以我怀疑它没有安装,因为安装本应该只安装运行时依赖项,所以我决定尝试将其移到那里。不幸的是,这样做还不够,这意味着preinstall在安装任何依赖项之前都已运行。

从源代码修复安装,而无需在克隆和安装命令之间添加额外的手动步骤的情况下,魔术是什么?

1 个答案:

答案 0 :(得分:1)

您应该为typescript安装全局文件。

或者创建脚本postinstall在启动主脚本之前但在安装所有软件包之后运行。