我按照Babel '入门'页面的说明安装了babel-cli工具.
从我的项目文件夹中的终端:
npm install --save-dev babel-cli
在此之后,有一个带有babel-cli文件夹的node_modules目录,但是没有创建package.json.npm还显示以下错误:
npm WARN enoent ENOENT: no such file or directory, open '/Users/MyName/Sites/Tutorials/Babel2/package.json
当试图运行babel时,我明白了:
babel src -d lib -bash: babel: command not found
我安装了最新版本的nodejs/npm.我运行了npm update -g,我编辑了我的.bash_profile文件,包括:
export PATH=$PATH:/Users/MyName/npm/bin export PATH=/usr/local/share/npm/bin:$PATH
我没有使用浏览器等其他npm工具.为什么巴贝尔不被认可?
这里有两个问题.首先,您需要一个package.json
文件.告诉npm安装没有一个会抛出npm WARN enoent ENOENT: no such file or directory
错误.在项目目录中,运行npm init
以生成package.json
项目的文件.
其次,可能找不到本地二进制文件,因为本地文件./node_modules/.bin
不在$PATH
.在如何使用node_modules中本地安装的软件包中有一些解决方案?,但是在npm脚本中包装babel-cli命令可能更容易.这是有效的,因为npm run
将npm bin
(node_modules/.bin
)的输出添加到PATH
提供给脚本.
这是一个精简的示例package.json
,它返回本地安装的babel-cli版本:
{ "scripts": { "babel-version": "babel --version" }, "devDependencies": { "babel-cli": "^6.6.5" } }
使用以下命令调用脚本:npm run babel-version
.
将脚本放在package.json中是非常有用的,但经常被忽略.在文档中还有更多:npm如何处理"脚本"字段
当我发现这个问题时,我一直在寻找
$ npm install -g babel-cli
这是常见问题,它.cmd
从您安装的根目录中查找文件babel-cli
.尝试以下命令.
./node_modules/.bin/babel.cmd
一旦您能够在命令提示符中看到您的源代码.下一步是再安装一个npm模块babel-preset-es2015
.
按照下面的答案安装babel-preset-es2015
,看看为什么巴贝尔需要这个.
巴别-文件被复制的,而无需感转化
这就是我自动添加本地项目node_modules/.bin
路径所做的工作PATH
.在~/.profile
我补充说:
if [ -d "$PWD/node_modules/.bin" ]; then PATH="$PWD/node_modules/.bin" fi
然后重新加载您的bash配置文件: source ~/.profile