Npm Can';t在es2015模式下运行全局babel节点

Npm Can';t在es2015模式下运行全局babel节点,npm,ecmascript-6,babeljs,babel-node,Npm,Ecmascript 6,Babeljs,Babel Node,因此,当我在本地安装这些软件包时,它们可以正常工作,但在全局安装时(并在本地删除它们) 似乎该标志没有将es2016节点设置为在全局包列表中查看。无论如何,会发生以下错误: npm运行start myfile.js 错误消息中有提示: 找不到相对于目录“/Users/user/project/bin”的预设“es2015节点” 本地安装预设,并使用--save标志将它们保存为您的包.json中的依赖项: npm install --save babel-preset-es2015-node ba

因此,当我在本地安装这些软件包时,它们可以正常工作,但在全局安装时(并在本地删除它们)

似乎该标志没有将es2016节点设置为在全局包列表中查看。无论如何,会发生以下错误:

npm运行start myfile.js


错误消息中有提示:

找不到相对于目录“/Users/user/project/bin”的预设“es2015节点”

本地安装预设,并使用
--save
标志将它们保存为您的
包.json中的依赖项:

npm install --save babel-preset-es2015-node babel-preset-es2015
巴贝尔的明智之举是只在本地查找预设。通过这种方式,您必须通过在
package.json
中描述其操作所需的依赖项来生成一个可移植的模块,然后用户通过
npm install
安装该模块

npm update

为我解决了这个问题。

在babel节点内构建es2015不是更明智,这样人们就可以使用flag快速配置它,而不是处理寻找dirpath模块/配置的全局可执行文件吗?babel不是唯一的ES6->ES5传输文件器,因此它需要进行这样的配置。也许不是,但我觉得没有es2015的babel node不适合作为节点运行者,因为它不了解模块模式、分解结构以及其他重要功能,为什么不将babel node作为一个单独的包,包括babel-node-es2015。我认为babel最近采用了es2015,因为2016年即将结束。
npm install --save babel-preset-es2015-node babel-preset-es2015
npm update