我需要在npm install
之前移除本地包。我希望使用一个npm脚本钩子来完成这个,但看起来可行的那些不起作用。 preinstall
不起作用,因为在计算包树之前它不会运行(discussed here),而prepare
似乎遇到了同样的问题。
是否有可以在计算树之前使用的npm钩子?
修改
以下是有关实际问题的详细信息。我的本地模块正在其他独立模块之间共享(即服务器和客户端模块将取决于该共享模块的内容)。该模块用Typescript编写。我希望共享它的其他模块始终具有此模块的最新编译版本。但是,我不希望其他开发人员必须记住编译Typescript或在更改时更新版本(即在npm安装期间其他模块会捕获更新的版本)。从某种意义上说,我不希望人类必须记住做这些事情。减少错误机会的一个方法是将一个Typescript编译步骤添加到本地模块的preinstall
挂钩。
我能够提出的最好的方法是使用npm脚本钩子,例如preinstall
或prepare
来移除npm install
之前的模块,但是,如上所述,那些技术是行不通的。目前我正在使用标准的npm脚本,现在必须在npm install
之前运行才能执行所需的删除操作,这是不理想的。