Превышен максимальный размер стека вызовов при попытке установить babel cli

#node.js #github #babeljs

#node.js #github #babeljs

Вопрос:

Я участвую в проекте узла. Я использую github в качестве контроллера версий, а также Visual Studio code в качестве текстового редактора. для установки

  • babel-cli
  • babel-preset-env

упаковщики, я ввел следующую команду

npm install -D babel-cli babel-preset-env nodemon

Затем терминал показал эту ошибку.

 PS C:UsersruwanDocumentsprojectsMEANBack> npm install -D babel-cli babel-preset-env nodemon
npm WARN MEANBack@1.0.0 No description
npm WARN MEANBack@1.0.0 No repository field.

npm ERR! Maximum call stack size exceeded

npm ERR! A complete log of this run can be found in:
npm ERR!     C:UsersruwanAppDataRoamingnpm-cache_logs2019-04-11T08_21_08_741Z-debug.log
  

Затем я попытался отменить все изменения в Visual Studio. Это не успех. Что я должен для этого сделать.

Комментарии:

1. Вы уверены, что у вас достаточно доступной оперативной памяти?

2. моя оперативная память составляет 4 ГБ. Разве этого недостаточно для этого.

3. Да, это может быть проблемой. Насколько велик ваш проект?

4. Это очень маленький проект. просто только CRUD

Ответ №1:

У меня была похожая проблема в совсем другой среде. Я смог обойти это с yarn global add babel-cli помощью .

Я создаю образ Docker на ubuntu:14.04 основе (это апрель 2014 года), с Docker 18.06.3~se~3-0~ubuntu (2019) и node 14.17.5 (выпущен на этой неделе в 2021 году). Это причудливое сочетание старого и нового. Мой движок Docker имеет 10 ГБ оперативной памяти и 4 назначенных процессора, поэтому ресурсы не должны быть проблемой.

Мой файл Dockerfile включал эту команду:

 ENV NODE_VERSION=14.17.5
RUN curl -SL "http://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-x64.tar.gz" | 
    tar xz -C /usr/local --strip-components=1 amp;amp; 
    npm install -g yarn@1.0.2 babel-cli
  

что приводит к забавному набору ошибок:

 #11 5.898 npm WARN deprecated yarn@1.0.2: It is recommended to install Yarn using the native installation method for your environment. See https://yarnpkg.com/en/docs/install
#11 6.208 /usr/local/bin/yarn -> /usr/local/lib/node_modules/yarn/bin/yarn.js
#11 6.208 /usr/local/bin/yarnpkg -> /usr/local/lib/node_modules/yarn/bin/yarn.js
#11 6.217   yarn@1.0.2
#11 6.217 added 1 package in 1.339s
#11 10.21 npm WARN deprecated chokidar@1.7.0: Chokidar 2 will break on node v14 . Upgrade to chokidar 3 with 15x less dependencies.
#11 12.49 npm WARN deprecated core-js@2.6.12: core-js@<3.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.
#11 15.98 npm WARN deprecated fsevents@1.2.13: fsevents 1 will break on node v14  and could be using insecure binaries. Upgrade to fsevents 2.
#11 23.90 npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
#11 23.91 npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
#11 32.48 /usr/local/bin/babel -> /usr/local/lib/node_modules/babel-cli/bin/babel.js
#11 32.48 /usr/local/bin/babel-doctor -> /usr/local/lib/node_modules/babel-cli/bin/babel-doctor.js
#11 32.48 /usr/local/bin/babel-external-helpers -> /usr/local/lib/node_modules/babel-cli/bin/babel-external-helpers.js
#11 32.48 /usr/local/bin/babel-node -> /usr/local/lib/node_modules/babel-cli/bin/babel-node.js
#11 32.62 
#11 32.62 > core-js@2.6.12 postinstall /usr/local/lib/node_modules/babel-cli/node_modules/core-js
#11 32.62 > node -e "try{require('./postinstall')}catch(e){}"
#11 32.62 
#11 33.62 npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@^1.0.0 (node_modules/babel-cli/node_modules/chokidar/node_modules/fsevents):
#11 33.62 npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.13: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
#11 33.62 
#11 33.76 npm ERR! Maximum call stack size exceeded
#11 33.87 
#11 33.87 npm ERR! A complete log of this run can be found in:
#11 33.87 npm ERR!     /root/.npm/_logs/2021-08-13T12_31_19_942Z-debug.log
  

включая ошибку «Превышен максимальный размер стека вызовов» на этапе установки.

Мое исправление заключалось в использовании yarn для установки пакета:

 ENV NODE_VERSION=14.17.5
RUN curl -SL "http://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-x64.tar.gz" | 
    tar xz -C /usr/local --strip-components=1 amp;amp; 
    npm install -g yarn@1.0.2 amp;amp; 
    yarn global add babel-cli
  

Это позволило продолжить установку и babel сделать ее доступной во всем мире.