node.js - mkdir -p 在 Windows 上的 package.json 脚本中不起作用

标签 node.js package.json mkdir

比如说,我们有一个 React 应用程序,并且 package.json 中有一个脚本:

"scripts": {
    "create-images-dir": "mkdir -p distrib/images"
}

如果在 Linux 上通过 npm run create-images-dir 运行这个脚本,它工作正常。但是尝试在 git-bashCygwin 终端中的 Windows 环境中运行它,我收到此错误:

The syntax of the command is incorrect.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! Exit status 1

设置 --parents 而不是 -p 时出现同样的错误。没有 -p 参数,它可以工作,所以它偶然发现了 -p。但与此同时,如果在终端中手动输入,来自脚本的命令可以正常工作:

mkdir -p distrib/images

对我来说,当命令从脚本转换为执行时,或者在 Windows 上对嵌套目录进行不同处理时,似乎会发生一些符号转义,但我不知道它到底是什么。我做错了什么吗?

最佳答案

这就是为什么 mkdirp包已存在——将其添加为开发依赖项并在脚本中使用二进制 mkdirp 而不是特定于平台的 mkdir

关于node.js - mkdir -p 在 Windows 上的 package.json 脚本中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50276726/

相关文章:

node.js - 如何在 Node Express 中仍然使用路由器并且仍然具有通配符和参数?

node.js - 从 request.connection.remoteAddress nodejs 中剥离 "::ffff:"前缀

json - 由于未满足对等依赖项,无法成功运行 npm install

node.js - 为什么 `npm install`会为同一个 `package-lock.json`文件生成不同的 `package.json`文件?

npm 强制 package-lock 更新子依赖包

php - mkdir 函数抛出异常 'File exists' 即使在检查该目录不存在之后

javascript - 是否可以在 Jade 中舍入?

node.js - Node 类型脚本应用docker命令错误

r - 如何在 CentOs 中添加新的仓库

node.js - Express session 和 fs 模块的问题