TypeError: Expected `cwd` to be of type `string` but received type `undefined`
bartdelange opened this issue ยท 11 comments
When executing any cli command it fails and gives the error below, this however does work if I use yarn. (has also been referenced here: #264)
Example command (the style.css is just an empty file):
"start": "postcss --use autoprefixer -o ./style.css ./style.css"
Stacktrace:
TypeError: Expected `cwd` to be of type `string` but received type `undefined`
at module.exports (/path/to/project/node_modules/dir-glob/index.js:44:25)
at globDirs (/path/to/project/node_modules/globby/index.js:58:9)
at getPattern (/path/to/project/node_modules/globby/index.js:61:64)
at Promise.all.globTasks.map.task (/path/to/project/node_modules/globby/index.js:72:69)
at Array.map (<anonymous>)
at module.exports (/path/to/project/node_modules/globby/index.js:72:41)
at Promise.resolve.then (/path/to/project/node_modules/postcss-cli/index.js:58:14)
at process._tickCallback (internal/process/next_tick.js:68:7)
at Function.Module.runMain (internal/modules/cjs/loader.js:744:11)
at findNodeScript.then.existing (/[user]/.nvm/versions/node/v10.12.0/lib/node_modules/npm/node_modules/libnpx/index.js:268:14)
I have the exact same error.
NPM Version: 6.4.1
Node Version: 10.15.0
Have you tried a fresh installation?
I have, weirdly enough just running the example in postcss/autoprefixer works as well, so it must be a version issue, but npm ls lists the same versions
npm install postcss-cli autoprefixer
npx postcss *.css --use autoprefixer -d build/
Yeah, there was a sub-dependency way down in the dependency tree that had a bug and broke semver. Your postcss-cli versions will be the same; that's expected, but what's important is that the sub-dependency is updated.
So manually forcing the sub dep version should fix it (and which)?
It does indeed, after manually installing the globby version (and then doing a fresh install leaving globby out of the package.json) it runs. I think is seems to be a cache issue or something even though the cache should be self healing
Yes, this was fixed in sindresorhus/globby#99. Reinstalling postcss-cli
should fix it.
npm update globby --depth 5
fixed it for me. NPM was keeping the version locked to a lower version because deduping or something.
The best would be to update globby to version ^9.0.0 in this package.