Findoss
@Findoss
JS dev

Как ограничить использование памяти для процессов node.js?

Доброго времени суток, пытаюсь произвести удаленно сборку проекта на vue.js.
Хостинг (Heroku) на бесплатном тарифе дает 500 ОЗУ, если использовать больше то процесс убивает.

Я пытался запустить процессы с помощью
node --max_old_space_size=400 node_modules/.bin/vue-cli-service build
но это не работает.

В логах Heroku
heroku[web.1]: Process running mem=800M(156.3%)
heroku[web.1]: Error R14 (Memory quota exceeded)
heroku[web.1]: Process running mem=1126M(220.0%)
heroku[web.1]: Error R15 (Memory quota vastly exceeded)
heroku[web.1]: Stopping process with SIGKILL

подробнее про ошибку R15
предлагаемое решение от Heroku

package.json
"dependencies": {
    "@vue/cli-service": "^3.0.3",
}

"engines": {
  "node": "9.9.0",
  "npm": "5.6.0"
},


На локальной машине сборка проходит без каких либо проблем.
Есть конечно вариант, делать сборку локально, но не хочется засорять репозиторий.
  • Вопрос задан
  • 524 просмотра
Решения вопроса 1
Findoss
@Findoss Автор вопроса
JS dev
Huroku выделяет до 1,5Гб ОЗУ на build процесс. Сборку vue.js было достаточно перенести в хук-скрипт после установки зависимостей

package.json
"scripts": {
  "build": "vue-cli-service build",
  "postinstall": "npm run build"
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
VoidVolker
@VoidVolker
Dark side eye. А у нас печеньки! А у вас?
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы