NPM“过时的Babel预设”警告,使用NPM在控制台中安装了多个“ gyp ERR!”,无法升级Babel

时间:2018-10-28 14:56:01

标签: npm babeljs npm-install babel node-gyp

尝试通过NPM安装软件包时,我首先遇到警告,告诉我升级Babel:

  

npm WARN已弃用babel-preset-es2015@6.24.1:感谢您使用Babel:我们建议立即使用babel-preset-env:请阅读babeljs.io/env进行更新!

     

npm WARN @ babel / preset-env @ 7.1.0需要一个@ babel / core @ ^ 7.0.0-0的同位体,但未安装任何同位体。您必须自己安装对等依赖项。

我尝试了以下各种升级步骤,包括

  

npm install 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! scrypt@6.0.3 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the scrypt@6.0.3 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

如果有人能弄清这些错误的原因,将不胜感激。完整的调试日志太长了,无法粘贴到这里。

1 个答案:

答案 0 :(得分:0)

我不太确定这是否可以解决您的特定问题,但是我遇到了类似的问题。我试图安装babelbabel preset,以便可以将ES6代码编译到ES5中。

按照babel网站设置页面上的说明进行操作,总是给我像您这样的错误。然后我发现设置页面实际上已经过时了,但是当前babel clipresets的正确命令在他们的文档中。

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

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

这些直接来自文档,并为我工作。

当然,这仅在运行命令时所在目录的本地级别上起作用。如果要全局安装babel,可以使用-g代替--save-dev。它们只是具有仍然可以使用的旧命令,但提供了旧版本的babel,从而导致peer dependency问题。