NPM устарел предустановленные предупреждения Babel, несколько gyp ERR! В консоли устанавливаются с помощью NPM, невозможно обновить Babel

При попытке установить пакеты через NPM я сначала сталкиваюсь с предупреждениями об обновлении Babel:

npm WARN больше не рекомендуется [email protected]: ???? Спасибо за использование Babel: сейчас мы рекомендуем использовать babel-preset-env: пожалуйста, прочтите babeljs.io/env для обновления!

npm WARN @ babel / preset-env @ 7.1.0 требует однорангового узла @ babel / core @ ^ 7.0.0-0, но ни один не установлен. Вы должны сами установить одноранговые зависимости.

Я пробовал выполнить различные шаги для обновления, в том числе

npm установить babel-preset-env --save-dev

Но когда я запускаю эту команду, я получаю различные npmERR! и gypERR! Сообщения об ошибках.

gyp ERR! configure error
gyp ERR! stack Error: Command failed: C:\Users\Aristophanes\AppData\Local\Programs\Python\Python37\python.EXE -c import sys; print "%s.%s.%s" % sys.version_info[:3];
gyp ERR! stack   File "<string>", line 1
gyp ERR! stack     import sys; print "%s.%s.%s" % sys.version_info[:3];
gyp ERR! stack                                ^
gyp ERR! stack SyntaxError: invalid syntax
gyp ERR! stack
gyp ERR! stack     at ChildProcess.exithandler (child_process.js:276:12)
gyp ERR! stack     at emitTwo (events.js:126:13)
gyp ERR! stack     at ChildProcess.emit (events.js:214:7)
gyp ERR! stack     at maybeClose (internal/child_process.js:915:16)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
gyp ERR! System Windows_NT 10.0.17134
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\Aristophanes\node_modules\scrypt
gyp ERR! node -v v8.12.0
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Aristophanes\AppData\Roaming\npm-cache\_logs\2018-10-28T14_37_55_648Z-debug.log

Если бы кто-нибудь мог пролить свет на причину этих ошибок, мы были бы признательны. Полный журнал отладки слишком длинный, чтобы я мог его сюда вставить.


person Aristophanes    schedule 28.10.2018    source источник
comment
Похоже, ваша версия Babel слишком старая, попробуйте обновить ее до версии 6 или 7 (последней)   -  person Patrick Hund    schedule 28.10.2018
comment
Правильно, но, как я сказал в сообщении, я пробовал обновить, но при запуске получаю несколько ошибок gyp и npm   -  person Aristophanes    schedule 28.10.2018
comment
Хм, вы заявили, что пытались установить babel-preset-env, я думаю, вам сначала нужно обновить сам Babel.   -  person Patrick Hund    schedule 28.10.2018
comment
Я также пробовал ›npm i babel-install и› npx babel-upgrade --write. Но все те же ошибки. Спасибо.   -  person Aristophanes    schedule 28.10.2018


Ответы (1)


Я не совсем уверен, что это решит вашу конкретную проблему, но я столкнулся с чем-то похожим. Я пытался установить babel и babel preset, чтобы я мог скомпилировать ES6 код в ES5.

Следуя указаниям на странице настройки веб-сайта babel, я продолжал выдавать такие же ошибки, как ваша. Затем я понял, что страница настройки на самом деле сильно устарела, но правильные команды для текущих babel cli и presets находятся в их документации.

npm install --save-dev @babel/core @babel/cli

npm install --save-dev @babel/preset-env

Они взяты прямо из документации и работали на меня.

Конечно, это будет работать только на локальном уровне того каталога, в котором вы находитесь при запуске команд. Если вы хотите установить babel глобально, вы можете использовать -g вместо --save-dev. У них просто есть старые команды, которые все еще работают, но выдают старые версии babel, вызывая peer dependency проблемы.

person Anthony Perdew    schedule 16.11.2018