无法通过 npm 脚本“babel:找不到命令”运行 babel

新手上路,请多包涵

开始我跑了:

 npm install --save-dev babel-cli
npm install --save-dev babel-preset-es2015
npm install --save-dev babel-preset-stage-0

这是我的 package.json:

    {
      "scripts": {
        "build": "babel src -d dist"
      },
      "devDependencies": {
        "babel-cli": "^6.6.5",
        "babel-core": "^6.7.2",
        "babel-preset-es2015": "^6.6.0",
        "babel-preset-stage-0": "^6.5.0"
      }
    }

这是我的 .babelrc 文件:

 {
  "presets": ["es2015", "stage-0"]
}

我的文件结构是这样的:

 - Root
    - src
        - client
        - server
        - test
    - dist
    - package.json

我正在从根文件夹调用 npm run build 。我期待它将源文件夹编译到 dist 文件夹中。它运行然后我得到这个错误:

 > babel src -d dist

sh: babel: command not found

npm ERR! Darwin 15.2.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "build"
npm ERR! node v5.8.0
npm ERR! npm  v3.7.3
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! redacted@1.0.0 build: `babel src -d dist`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the redacted@1.0.0 build script 'babel src -d dist'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the redacted package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     babel src -d dist
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs redacted
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls redacted
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Users/user/redacted/npm-debug.log

正如你所看到的,我已经安装了 babel-cli,我已经安装了预设,而且我认为根据 babel 文档,一切都井井有条。

有没有人知道为什么它不起作用?我可以缺少 babel npm 文件吗? “babel src -d dist”不正确吗?

感谢您的任何帮助,您可以提供!

我制作了另一个文件夹并按照相同的步骤操作,效果很好。由于某种原因,它在这个目录中不起作用。

原文由 Justin 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 442
2 个回答

您是否运行“npm install”来安装开发包?

原文由 s.xie 发布,翻译遵循 CC BY-SA 3.0 许可协议

我最近遇到了同样的问题。删除 node_modules 文件夹并再次运行 npm install 不再解决问题。

您收到此错误的原因是因为 babel-cli 需要全局安装,而不是作为项目依赖项。

运行 npm install -g babel-cli 全局安装。

然后可以将 Babel-preset-es2015 安装为项目的开发依赖项 npm install --save-dev babel-preset-es2015

原文由 tom 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题