ФорумПрограммированиеJavaScriptNodeJS → NPM: Maximum call stack size exceeded

NPM: Maximum call stack size exceeded

  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 20 февраля 2016 г. 17:02

    Зачастую когда ваш проект использует больше чем дохера больших библиотек (например webpack, sass, babeljs, react, jquery, много доп лоадеров всяких) вы можете столкнуться с бичом nodejs! Вот такой вот ошибкой

    npm ERR! Maximum call stack size exceeded

    Вы можете долго ебаться чтобы обойти это, но лекарства не существует, так как npm устроен достаточно по уебански в плане запуска ноды и крутит ноду в дефолтовых настройках, хотя nodejs имеет настройку для указания этого самого stack-size'а.

    Лечим это запуская сам npm-cli скрипт под своей нодой с нужными нам параметрами:

    node --stack-size=2000 /usr/local/lib/node_modules/npm/bin/npm-cli.js install

    Это вполне сносно если у вас все это крутится например в Docker'е и путь до модулей не меняется никогда.

    Записал это чтобы сэкономить 4 часа дебага и несколько дней до этого по несколько часов другим людям :)

    зы: вы все равно рано или поздно вступите на эти грабли, так как установщик npm разолвит зависимости с помощью рекурсии, глубина которой зависит пожалуй только от того, сколько пакетов вы используете, так что как только ваши аппетиты вырастут - u welcome :)

    Сапожник без сапог
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 20 февраля 2016 г. 22:57, спустя 5 часов 55 минут 21 секунду

    @phpdude, спасибо

    adw/0
  • AlexB

    Сообщения: 4290 Репутация: N Группа: в ухо

    Spritz 20 февраля 2016 г. 23:12, спустя 15 минут 26 секунд

    Вот гавно-то ...

  • kostyl

    Сообщения: 5203 Репутация: N Группа: Джедаи

    Spritz 21 февраля 2016 г. 3:24, спустя 4 часа 11 минут 51 секунду

    @phpdude, тебя прям не узнать!!!

  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 21 февраля 2016 г. 6:59, спустя 3 часа 34 минуты 49 секунд

    @phpdude, тебя прям не узнать!!!

    @kostyl, в смысле?

    Спустя 52 сек.

    Вот гавно-то ...

    @AlexB,

    Вот гавно-то ...

    @AlexB, все было бы OK если бы эту хуйню можно было конфигурировать через environment variables, но увы v8 options задавать через env нельзя :(

    Сапожник без сапог
  • kostyl

    Сообщения: 5203 Репутация: N Группа: Джедаи

    Spritz 21 февраля 2016 г. 7:05, спустя 5 минут 44 секунды

    @kostyl, в смысле?

    @phpdude, людям помогаешь ))

  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 21 февраля 2016 г. 7:11, спустя 5 минут 41 секунду

    @kostyl, говорю же для себя записал :)

    Спустя 18 сек.

    хотя вот зря ты так, я раньше всегда и много помогал людям, а потом забил хуй

    Спустя 9 сек.

    все равно это бесполезная трата времени

    Сапожник без сапог
  • kostyl

    Сообщения: 5203 Репутация: N Группа: Джедаи

    Spritz 21 февраля 2016 г. 9:59, спустя 2 часа 48 минут 54 секунды

    @phpdude, та я же не претензирую )), я знаю что ты норм чел ))

  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 21 февраля 2016 г. 10:08, спустя 8 минут 20 секунд

    @phpdude, та я же не претензирую )), я знаю что ты норм чел ))

    @kostyl, накатим)

    Сапожник без сапог
  • kostyl

    Сообщения: 5203 Репутация: N Группа: Джедаи

    Spritz 21 февраля 2016 г. 10:11, спустя 3 минуты 5 секунд

    @phpdude, та я же не претензирую )), я знаю что ты норм чел ))

    @kostyl, накатим)

    @phpdude, думаю когда-нибудь обязательно +1 ))

  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 21 февраля 2016 г. 10:24, спустя 13 минут 1 секунду

    @kostyl, заметано

    Сапожник без сапог
  • Trej Gun

    Сообщения: 5299 Репутация: N Группа: в ухо

    Spritz 1 марта 2016 г. 4:43, спустя 8 дней 18 часов 19 минут

    у меня огромный проект на этом стеке, никаких проблем
    ты чтото делаешь не так

  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 1 марта 2016 г. 6:51, спустя 2 часа 7 минут 36 секунд

    у меня огромный проект на этом стеке, никаких проблем
    ты чтото делаешь не так

    @Trej Gun, я могу тебе дать сюда package.json чтобы ты попробовал это за раз установить :)

    зы: еще есть возможная причина - я устанавливаю в контейнере docker возможно nodejs для докера по умолчанию какие нить уменьшенные лимиты использует.

    Сапожник без сапог
  • master

    Сообщения: 3236 Репутация: N Группа: Джедаи

    Spritz 1 марта 2016 г. 6:53, спустя 2 минуты 27 секунд

    огромный проект вовсе не означает большую глубину стека и наоборот

    не всё полезно, что в swap полезло
  • phpdude

    Сообщения: 26624 Репутация: N Группа: в ухо

    Spritz 1 марта 2016 г. 6:54, спустя 13 секунд

    огромный проект вовсе не означает большую глубину стека и наоборот

    @master, уху.

    Сапожник без сапог

Пожалуйста, авторизуйтесь, чтобы написать комментарий!