我有一些应用程序使用了很棒的 node-sqlite3 模块。它的一个缺点是它在安装时从源代码构建 sqlite。我进行部署的方式使情况更加复杂。我正在使用 chef,它为每次部署提供了一个干净的源代码树。然后我npm install
在每个应用程序根目录下做一个。这对大多数事情来说都不是问题,因为它只是命中本地缓存。但是对于 sqlite3,它会为每个引用模块的地方构建一个全新的副本;我的情况是4次!现在需要几秒钟的时间需要几分钟,这在测试暂存环境中的新更改时尤其糟糕。
原则上,我应该能够为给定版本的模块构建一次,缓存它,然后在部署时复制或链接二进制文件。有没有人做过类似的事情?这里有恶魔潜伏吗?