Я столкнулся с ошибкой нехватки памяти при запуске grunt babel. На Mac это решается увеличением max-old-space-size. Однако некоторые из наших разработчиков работают на машинах с Windows, и я не нашел способа сделать это на Windows.
Чему равен:
node --max-old-space-size=10000 node_modules/.bin/grunt babel
на окнах?
Или есть универсальная команда, которая работает на обоих?
Мои зависимости:
"@babel/core": "^7.1.5",
"@babel/preset-env": "^7.1.5",
"grunt-babel": "^8.0.0",
"grunt": "^0.4.5",
"grunt-cli": "^1.3.1",
My babel config in gruntfile.js
Моя конфигурация babel в gruntfile.
babel: {
options: {
compact: true,
presets: ['@babel/preset-env'],
sourceMap: true,
inputSourceMap: sourceMapInJson)
},
},
Ошибка, которую я получал на Mac, но все еще продолжаю работать в Windows, не увеличивая max-old-space-size:
FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
Ошибка, которую я получаю в Windows с параметром max-old-space-size:
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
^^^^^^^
SyntaxError: missing ) after argument list
Команда не работает в Windows? Кажется, что "работает" как в, команда не выдает ошибку, но вы все равно получаете ошибку при выполнении задачи? Если последнее, просто снимок в темноте, но пробовали ли вы увеличить максимальное значение для окон? Может быть, 10 000 хватило бы на Mac, но не на Windows ...
Вы уверены, что эта команда не работает в Windows? потому что это должно работать. Я думаю, что так же, как @klabranche, попробуйте установить более высокое значение, если это не сработает. Кроме того, из документации вы можете установить ее как переменную ENV и не вводить ее каждый раз. - nodejs.org/api/cli.html#cli_node_options_optionsenv NODE_OPTIONS=--max_old_space_size=4096
В Windows команда выдает эту ошибку: basedir = $ (dirname "$ (echo" $ 0 "| sed -e 's, \\, /, g')") ^^^^^^^ SyntaxError: missing) after список аргументов
Поэтому я не верю, что Windows требует больше памяти. Установка env для команды just кажется излишней.
Может быть поможет этот плагин: npmjs.com/package/increase-memory-limit
@Waltari Этот пакет полезен для вас?
Да, я бы принял это как ответ. В итоге мы включили его в наш проект. :)



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Пакет Npm increase-memory-limit поможет.
этот модуль исправляет нехватку памяти при запуске двоичных файлов узла.
Как упоминалось в его официальном документы
it will append --max-old-space-size=4096 in all node calls inside your node_modules/.bin/* files.
Надеюсь это поможет!
На самом деле это не исправляет в Windows. Несоответствие в общении с моим коллегой.
Можно попробовать node --max-old-space-size=8192 {name of the file}?
Я знаю, что вы просите именно окна, я не смогу вам с этим помочь. Я просто хотел сказать, что мне приходилось дважды работать с Windows (требования работодателя), и каждый раз мне приходилось настраивать свою собственную среду VirtualBox с Debian / Ubuntu просто для лучшего опыта разработки. Если вы не можете решить свою проблему, возможно, попробуйте запустить свое программное обеспечение в виртуальном боксе или даже в докере, где вы можете использовать Linux в качестве основы, а затем передайте аргумент --max-old-space-size в node. Настройка команды, которая запускает докер и запускает все необходимые инструменты, кажется излишним, но она сработает.