【发布时间】:2012-03-24 17:27:52
【问题描述】:
我有一个 node.js 应用程序,我刚刚部署到 Heroku,它依赖于 canvas 模块。但是,该模块需要 cairo 图形库和长话短说,我需要使用 this fork of canvas 中包含的预编译版本。
通常,我的 package.json 依赖项如下所示:
"dependencies" : {
"canvas" : "0.10.0",
"express" : "2.5.6",
"jade" : "0.20.1"
}
但是为了让我的应用在 Heroku 上运行,我必须从 github 中提取 fork
"dependencies" : {
"canvas" : "git://github.com/elspoono/node-canvas-heroku.git#master",
"express" : "2.5.6",
"jade" : "0.20.1"
}
是否有可能有 package.json 的“Heroku-only”版本?还是 package.json 中的另一个部分可以“覆盖”开发环境中的画布依赖项?
【问题讨论】:
-
您是否将相同的应用程序部署到 Heroku 和其他地方?如果 Heroku 是您唯一的目标,为什么需要维护 2 个 package.json 文件?
-
本地机器,heroku机器,但我以后可能会添加其他环境。如果其他人签出该项目,npm install 将失败,除非他们的架构与 heroku 的匹配