package.json для разных сред? - PullRequest
5 голосов
/ 07 марта 2012

У меня есть приложение node.js, которое я только что развернул в Heroku, которое зависит от модуля canvas . Однако для этого модуля требуется графическая библиотека cairo и короткая история, мне нужно использовать предварительно скомпилированную версию, которая входит в состав этого форка канвы .

Обычно мои зависимости package.json выглядят так:

  "dependencies" : {
    "canvas"   :  "0.10.0",
    "express" :  "2.5.6",
    "jade" : "0.20.1"
  }

Но чтобы мое приложение работало на Heroku, мне нужно вытащить вилку из github

  "dependencies" : {
    "canvas"   :  "git://github.com/elspoono/node-canvas-heroku.git#master",
    "express" :  "2.5.6",
    "jade" : "0.20.1"
  }

Возможно ли иметь "Heroku" версию пакета package.json? Или есть другой раздел в package.json, где я могу "переопределить" зависимость canvas в средах разработки?

Ответы [ 3 ]

3 голосов
/ 06 октября 2016

Существует инструмент под названием penv , который выглядит многообещающе.С их сайта:

Иногда нам нужны разные свойства package.json для наших различных сред, таких как производство, подготовка и разработка.(Например: jitsu развертывает)

С помощью penv вы можете настроить свой файл package.json со свойствами, определенными в файле environment.json.

Собственно, сейчас попробуем.

2 голосов
/ 09 марта 2012

Никогда не использовал Heroku, но формат package.json определяет поле devDependencies, см. Nodejitsu cheatsheet .Затем установите с $ npm install -d.

1 голос
/ 07 марта 2012

Возможно, вы могли бы использовать специальную ветку Heroku в Git и объединиться с ней перед развертыванием (гарантируя, что вы не сливаетесь со своим package.json).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...