Babel / Npm - 本地与全局错误

时间:2016-07-21 09:43:47

标签: javascript node.js ecmascript-6 babel transpiler

我试图使用Babel转换ES6文件 - 但NPM不喜欢命令 babel src --out-dir输出,它是使用我的脚本运行的的package.json。

但是,当我全局安装Babel并在不使用脚本的情况下运行相同的命令时,它运行正常。

如果我不必,我想避免在全球范围内安装Babel。

错误(请参阅下面的调试日志) TypeError:src / person.js:预期'输入'成为一个'字符串'得到'数字' 看起来命令 babel src --out-dir输出"在您的系统上失败"

项目设置

-> root
   -> node_modules
   -> output
   -> src
      - person.js
   - .babelrc
   - package.json

的package.json

{
  "name": "Test",
  "version": "0.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "build": "babel src --out-dir output"
  },
  "author": "Me",
  "license": "UNLICENSED",

  "devDependencies": {
    "babel-cli": "~6.11.4",
    "babel-preset-es2015": "^6.9.0"
  }

}

person.js

class Person {
    constructor(name) {
        this.name = name;
    }
}

.babelrc

{
  "presets": ["es2015"]
}

调试日志

0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files (x86)\\node.exe',
1 verbose cli   'C:\\Program Files (x86)\\node_modules\\npm\\bin\\npmcli.js',
1 verbose cli   'run',
1 verbose cli   'build' ]
2 info using npm@2.15.8
3 info using node@v4.4.7
4 verbose run-script [ 'prebuild', 'build', 'postbuild' ]
5 info prebuild Codemode@0.0.0
6 info build Test@0.0.0
7 verbose unsafe-perm in lifecycle true
8 info Test@0.0.0 Failed to exec build script
9 verbose stack Error: Test@0.0.0 build: `babel src --out-dir output`
9 verbose stack Exit status 1
9 verbose stack     at EventEmitter.<anonymous> (C:\Program Files (x86)\node_modules\npm\lib\utils\lifecycle.js:217:16)
9 verbose stack     at emitTwo (events.js:87:13)
9 verbose stack     at EventEmitter.emit (events.js:172:7)
9 verbose stack     at ChildProcess.<anonymous> (C:\Program Files (x86)\node_modules\npm\lib\utils\spawn.js:24:14)
9 verbose stack     at emitTwo (events.js:87:13)
9 verbose stack     at ChildProcess.emit (events.js:172:7)
9 verbose stack     at maybeClose (internal/child_process.js:827:16)
9 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
10 verbose pkgid Codemode@0.0.0
11 verbose cwd C:\Users\me\Dev\Test
12 error Windows_NT 6.1.7601
13 error argv "C:\\Program Files (x86)\\node.exe" "C:\\Program Files (x86)\\node_modules\\npm\\bin\\npm-cli.js" "run" "build"
14 error node v4.4.7
15 error npm  v2.15.8
16 error code ELIFECYCLE
17 error Test@0.0.0 build: `babel src --out-dir output`
17 error Exit status 1
18 error Failed at the Test@0.0.0 build script 'babel src --out-dir output'.
18 error This is most likely a problem with the Test package,
18 error not with npm itself.
18 error Tell the author that this fails on your system:
18 error     babel src --out-dir output
18 error You can get information on how to open an issue for this project with:
18 error     npm bugs Test
18 error Or if that isn't available, you can get their info via:
18 error
18 error     npm owner ls Test
18 error There is likely additional logging output above.
19 verbose exit [ 1, true ]

我真的不确定这出错的地方,也无法找到错误的帖子。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

问题解决了(侥幸)!

我仍然不确定问题是什么,但是我已经将webpack添加到我的项目中,并添加了另一个脚本来运行 webpack 命令。这工作正常,所以我再次尝试了 npm run build 命令,它运行了(我检查过,babel-cli -g也被卸载了)。

如果有人能说清楚出了什么问题,那就太棒了!!!

由于