npm postinstall脚本-从依赖关系执行脚本

时间:2019-11-07 16:16:06

标签: javascript node.js npm package.json

遗憾的是,除了4年前的一些内容以外,我在此问题上什么都找不到。

假设我有2个软件包:@my/package@my/parent

现在在@my/parent中,我正在尝试使用类似以下的安装后脚本: postinstall: "node ./node_modules/@my/package/dist/postinstall.js"

这将始终失败,因为显然在调用后安装脚本时,脚本文件不存在。

应该是那样吗?在安装后,您是否无法从依赖项中调用脚本?

谢谢。

欢呼

1 个答案:

答案 0 :(得分:0)

可以回答我自己的问题:

不建议在./node_modules/@my/package/...的后安装脚本中使用@my/parent,因为根据使用者package.json /版本的不同,@my/package可能未安装在{ {1}},但作为兄弟姐妹。在这种情况下,路径将无法解析。

因此,如果要在安装后脚本中使用另一个软件包中的内容,则必须依赖节点模块的分辨率。一种方法是: 代替

@my/parent

postinstall: "node ./node_modules/@my/package/dist/postinstall.js"