I'm trying to have a script that looks like this:
{ "scripts": "setup": "mkdir -p ./my-dir" }
And it fails, at least on Windows, even if I run it from a Git Bash prompt. Even trying just mkdir ./my-dir
doesn't work. I can't figure out any reason it should fail.
The error it gives is a "syntax incorrect" error:
> [email protected] stage C:\my-app > mkdir ./my-dir The syntax of the command is incorrect. npm ERR! Windows_NT 6.1.7601 npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "stage" npm ERR! node v6.4.0 npm ERR! npm v3.10.3 npm ERR! code ELIFECYCLE npm ERR! [email protected] stage: `mkdir ./my-dir` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the [email protected] stage script 'mkdir ./my-dir'. 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 my-app package, npm ERR! not with npm itself. npm ERR! Tell the author that this fails on your system: npm ERR! mkdir ./my-dir npm ERR! You can get information on how to open an issue for this project with: npm ERR! npm bugs my-app npm ERR! Or if that isn't available, you can get their info via: npm ERR! npm owner ls my-app npm ERR! There is likely additional logging output above. npm ERR! Please include the following file with any support request: npm ERR! C:\my-app\npm-debug.log
If this won't work, is there a cross-platform friendly way to initialize an empty directory?
This module possibly will solve your problem: https://www.npmjs.com/package/mkdirp
You can use npx plus mkdirp for a relatively lightweight, portable solution without global installs
Add this to package.json
:
"scripts": { "create-dir": "npx mkdirp _site/assets", }
And then use like this:
$ npm run create-dir
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With