首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何快速部署使用慢构建二进制模块的节点应用?

如何快速部署使用慢构建二进制模块的节点应用?
EN

Stack Overflow用户
提问于 2012-09-06 08:42:10
回答 1查看 365关注 0票数 0

我有一些使用神奇的node-sqlite3模块的应用程序。它的一个缺点是在安装时从源代码构建sqlite。我的部署方式使这一点变得复杂;我使用chef,它为我提供了一个干净的源码树。然后,我在每个应用程序根目录下执行一个npm install。这对于大多数事情来说都不是问题,因为它只会命中本地缓存。但对于sqlite3,它为模块引用的每个位置构建了一个全新的副本;在我的例子中是4次!需要几秒钟的事情现在需要几分钟,这在测试阶段环境中的新更改时尤其糟糕。

原则上,我应该能够为给定版本的模块进行一次构建,缓存它,并在部署时只复制或链接二进制文件。有没有人做过类似的事情?有没有恶魔潜伏在这里?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-17 13:47:40

我们在Chef上有一个类似的Node.js设置,并选择全局安装sqlite3。Node.js风格指南建议不要这样做,但似乎更可取的做法是每次部署都重新编译几分钟的sqlite3:

在chef或你的package.json中,你有这样的东西

代码语言:javascript
复制
(sudo) npm install -g sqlite3@2.1.x

确保将全局NODE_PATH添加到初始化脚本中。

代码语言:javascript
复制
node NODE_PATH=/usr/local/lib/node_modules app.js
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12291563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档