Npm 找不到Babel命令
我已经安装了babel cli工具,如babel页面所述 从“我的项目”文件夹中的终端:Npm 找不到Babel命令,npm,babeljs,Npm,Babeljs,我已经安装了babel cli工具,如babel页面所述 从“我的项目”文件夹中的终端: 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.
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\u配置文件以包括:
export PATH=$PATH:/Users/MyName/npm/bin
export PATH=/usr/local/share/npm/bin:$PATH
我没有在其他npm工具(如browserify)中遇到过这种情况。为什么不能识别babel?这是一个常见问题,它从安装了
babel cli的根目录中查找.cmd
文件。尝试下面的命令
./node_modules/.bin/babel.cmd
一旦您能够在命令提示符中看到源代码。下一步是再安装一个npm模块babel-preset-es2015
按照下面的答案安装babel-preset-es2015
,并了解为什么babel需要它
这里有两个问题。首先,您需要一个package.json
文件。告诉npm在没有安装的情况下安装将抛出npm WARN enoint enoint:no-this file或directory
错误。在项目目录中,运行npminit
为项目生成package.json
文件
其次,可能找不到本地二进制文件,因为本地/node\u modules/.bin
不在$PATH
中。中有一些解决方案,但只将babel cli命令包装到npm脚本中可能更容易。这是因为npm run
将npm bin
(node\u modules/.bin
)的输出添加到提供给脚本的路径中
下面是一个简化的示例package.json
,它返回本地安装的babel cli版本:
{
"scripts": {
"babel-version": "babel --version"
},
"devDependencies": {
"babel-cli": "^6.6.5"
}
}
使用以下命令调用脚本:npm run babel version
将脚本放在package.json中非常有用,但经常被忽略。文档中有更多内容:这是我自动将本地项目node\u modules/.bin
路径添加到path
中所做的。在~/.profile
中,我添加了:
if [ -d "$PWD/node_modules/.bin" ]; then
PATH="$PWD/node_modules/.bin"
fi
然后重新加载bash配置文件:source~/.profile
您需要在babel文件的路径周围添加引号,如下所示
“/node_modules/.bin/babel”--help我也遇到了同样的问题。删除了节点模块
文件夹,以管理员身份打开命令提示符,然后运行npm安装
所有软件包都安装得很好。当我发现这个问题时,我正在寻找
$ npm install -g babel-cli
实际上,如果要使用cmd命令,有两种方法。
首先,在gloabl环境中安装它。
另一种方法是npm链接
。
因此,请尝试第一种方法:npm安装-g babel cli
我遇到了同样的问题,尝试了我能想到的一切。不喜欢在全球范围内安装任何东西,但最终不得不运行
npm安装-g babel cli
,
这解决了我的问题。
也许不是答案,但肯定是一个可能的解决方案 为我工作
./node_modules/.bin/babel --version
./node_modules/.bin/babel src/main.js
要安装Babel 7+版本,请运行:
npm install -g @babel/cli
npm install -g @babel/core
对于使用纱线作为包装管理器而不是npm的客户:
yarn global add babel-cli
一个选项是全局安装cli
由于名称空间已从babel cli
更改为@babel/cli
,因此:
npm install --global @babel/cli
您可能仍然会遇到@babel/core
的错误,因此:
npm install --global @babel/core
在全球范围内安装babel
可以解决此问题:
npm install -g @babel/core @babel/cli
但是,不鼓励在全球范围内安装依赖项,因为它们不会在每个项目的基础上管理其版本。
您应该在本地安装依赖项,如babel
的建议:
缺点是,这没有提供以交互方式调用本地二进制文件的快速/方便的方法(在本例中为babel
)npx
为您提供了一个很好的解决方案:
npx babel --version
这将运行您在本地安装的babel
。此外,如果要避免键入npx
,可以配置,然后只需运行:
babel --version
注意:在项目根目录下创建一个文件.babelrc
,在其中指定babel配置,这一点很重要。作为一个起点,您可以用来传输到ES2015+:
npm install @babel/preset-env --save-dev
为了启用预设,您必须在.babelrc文件中定义它,如下所示:
{
"presets": ["@babel/preset-env"]
}
这在package.json中作为npm脚本对我很有效,但似乎需要很长时间才能获取这些包,即使我将它们作为开发依赖项。它似乎也太长了
"babel": "npx -p @babel/cli -p @babel/core babel --version"
最终解决这个问题的方法简单得多,但也很有趣
npm install
我以为我已经在运行了,但我想有些东西需要重建。那么就:
"babel": "babel --version"
您可以在这里看到如何开始使用babel cli:如果您使用的是fish,请尝试在我的情况下重新安装我的node_模块:rm-rf./node_模块和&npm I
,在考虑其他答案后,探索如何处理我的~/.profile
文件,以确保我可以在本地node_模块中调用包,我认为package.json
的scripts
区域是最好的选择。您不需要告诉您的同事更改他们的配置文件或制作alias,您的脚本就可以工作了。我使用的是Thread(工作要求),我看到的大多数解决方案都使用npx。“/node_modules/.bin不在$PATH”为我修复了它。谢谢您不应该将sudo与npm一起使用。尝试使用nvm来管理您的节点版本。npm安装-g babel cli
在没有sudo的情况下可以工作。您应该使用sudo
和npm安装-g babel cli
来访问此文件/usr/local/lib/node\u模块,否则您将被拒绝。@babel/cli文档建议不要全局安装babel cli(以避免与使用不同版本的babel的其他项目发生冲突
"babel": "babel --version"