0

我有这个package.json

"devDependencies": {
  ...
  "babel-cli": "^6.8.0",
  "babel-core": "^6.8.0",
  "babel-preset-es2015": "^6.6.0",
  "babel-preset-react": "^6.5.0",
  "babel-preset-stage-2": "^6.5.0",
  ...
}

这在我的.babelrc

{
  "presets": [
    "react",
    "es2015",
    "stage-2"
  ]
}

运行时babel --source-maps=true --out-dir=lib src我得到这个:

$ ./node_modules/.bin/babel --source-maps=true --out-dir=lib src

ReferenceError: [BABEL] src/main.js: Unknown option: /dev/my-project/.babelrc.presets

我有babel-cli6个,为什么它不识别.babelrc.presets

4

1 回答 1

0

回答我自己的问题,因为我试图解决这个问题一段时间,我认为这可能对其他人有帮助:

问题是一个已知的 npm v3 错误。与 npm v2 不同,npm v3 会展平依赖关系树,因此我的项目中有一个深度依赖关系,其中包括 babel v5,并且 npm 将二进制文件链接到我的./node_modules/.bin目录,覆盖来自 my devDependency( "babel-cli": "^6.8.0") 的二进制文件。

修复方法是在完成后重建这个包npm install。您应该将此添加到您的package.json

"scripts": {
  ...
  "postinstall": "npm rebuild babel-cli",
  ...
}
于 2016-07-01T00:30:03.000 回答