为什么mkdir <path>在Windows中运行npm失败?

时间:2016-12-20 06:21:39

标签: node.js npm cygwin package.json

我在Windows上使用Cygwin bash。当我运行mkdir -p dist/ts时它运行正常。但是当package.json中的脚本添加相同的内容时

  "scripts": {
    "test1": "mkdir -p dist/ts "
  }

npm返回以下错误:

The syntax of the command is incorrect.

npm ERR! Windows_NT 6.3.9600
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\mmauricepinto\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "run" "test1"
npm ERR! node v5.10.1
npm ERR! npm  v3.8.6
npm ERR! code ELIFECYCLE
npm ERR! angular2-google-maps@0.16.0 test1: `mkdir -p dist/ts`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the angular2-google-maps@0.16.0 test1 script 'mkdir -p dist/ts'.
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 angular2-google-maps package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     mkdir -p dist/ts
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs angular2-google-maps
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls angular2-google-maps
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     C:\cygwin\home\mmauricepinto\Startup\angular2-google-maps\npm-debug.log

1 个答案:

答案 0 :(得分:1)

在Windows中有一个文件系统,使用mkdir时应该使用反斜杠。查看本文的最后一段:https://www.windows-commandline.com/create-directory-command-line

使用此:

  "scripts": {
    "test1": "mkdir -p dist\\ts"
  }

你需要使用两个后向\\,因为在这种情况下它被解释为转义序列。