[Bug]: CLI generate store throws when Yarn is not installed (Windows)
DavidDeSloovere opened this issue ยท 22 comments
Describe the Bug
CLI throws error when, probably because Yarn is not installed
npx @vue-storefront/cli generate store
Current behavior
CLI throws ugly error
Expected behavior
CLI should return a user friendly message that Yarn is required needs to be installed.
Steps to reproduce
don't not have yarn installed
npx @vue-storefront/cli generate store
enter name for project
select magento 2
install magento? no
What version of Vue Storefront are you using?
latest cli
What version of Node.js are you using?
16.20.0
What browser (and version) are you using?
What operating system (and version) are you using?
Windows
Relevant log output
โ ๐ค Do you want to install Magento 2 locally on your computer? (BETA)
โ No
โ
โ ๐ Node.js version is compatible
node:events:491
throw er; // Unhandled 'error' event
^
Error: spawn yarn ENOENT
at Process.ChildProcess._handle.onexit (node:internal/child_process:285:19)
at onErrorNT (node:internal/child_process:485:16)
at processTicksAndRejections (node:internal/process/task_queues:83:21)
Emitted 'error' event on ChildProcess instance at:
at Process.ChildProcess._handle.onexit (node:internal/child_process:291:12)
at onErrorNT (node:internal/child_process:485:16)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
errno: -4058,
code: 'ENOENT',
syscall: 'spawn yarn',
path: 'yarn',
spawnargs: [ '-v' ]
}
Able to fix / change the documentation?
- Yes
- No
Code of Conduct
- I agree to follow this project's Code of Conduct
Also, prerequisites only mention node and not yarn:
https://docs.vuestorefront.io/v2/getting-started/installation.html
Sure, scroll down and you'll see yarn, but you get the point ๐
Thanks for reporting this! I will take a look and release a fix for that. I think the issue is that we are checking for yarn even if user doesn't want to select Magento to install locally.
Also, as @DavidDeSloovere mentioned, this is a flaw in docs and we will add Yarn and part of prereq ๐
hey @tqlong1609 can you please run this command yarn -v
in your terminal?
Most probably this is an issue how we check Yarn version, I'll release a patch asap
Must say that the error peristed after installing yarn.
I'm using nvm for Windows, not usre if that matters.
My yarn -v
output is
1.22.19
@DavidDeSloovere thank you! This is 100% something wrong with Windows yarn version check, I'll release an RC CLI version right now, would you be able to check in 10 mins?
Yes, I have some time today to check.
Hopefully it is fixed, can you please try it out: npx @vue-storefront/cli@rc init
hmmm...I'm trying to figure out what's happening. Npm package is published, but for some reason it is not updated in the registry. Maybe some propagation issues.
https://status.npmjs.org/ - there was an issue with npm publish service indeed.
Can you please try npx @vue-storefront/cli@4.1.3 init
once again? Patch 4.1.3 is released
@DavidDeSloovere Windows ๐
Are you running this with WSL installed? Unfortunately CLI does not support installation of Magento locally using Windows without WSL (there are so many issues with that =()
I'll make sure to add this error handler in the next patch.
npm registry right now has issues with the npm publish
service so publishing takes a lot of time.
Can you please try running the command wihtout Magento 2 local install once again, will it result in the same error? I'll publish a patch meanwhile
@DavidDeSloovere patch is up, can you please try npx@vue-storefront/cli@4.1.3-rc.2 init
๐ญ I know what's the issue here.
Apparently, Windows needs to run yarn.cmd
command from Node.js not simply yarn
like on Linux and MacOS.
rc3 is up
Thanks a lot for helping me out @DavidDeSloovere
npx@vue-storefront/cli@4.1.3-rc.3 init
Amazing thanks so much @DavidDeSloovere!! ๐
https://www.npmjs.com/package/@vue-storefront/cli/v/4.1.4 - 4.1.4 patch is out
Looks good this ๐
npx@vue-storefront/cli@latest init
@skirianov
I think you forgot to fix another yarn
call here:
https://github.com/vuestorefront/vue-storefront/blob/4e1ff1aea26493574db860b845128a0ec042b448/packages/cli/src/domains/magento2/functions/installDeps.ts#LL18C1-L19C1
Looking into it @DavidDeSloovere ๐
in my case it was yarn
Error: spawn yarn ENOENT
at Process.ChildProcess._handle.onexit (node:internal/child_process:285:19)
at onErrorNT (node:internal/child_process:485:16)
at processTicksAndRejections (node:internal/process/task_queues:83:21)
Emitted 'error' event on ChildProcess instance at:
at Process.ChildProcess._handle.onexit (node:internal/child_process:291:12)
at onErrorNT (node:internal/child_process:485:16)
at processTicksAndRejections (node:internal/process/task_queues:83:21) {
errno: -4058,
code: 'ENOENT',
syscall: 'spawn yarn',
path: 'yarn',
spawnargs: []
I solved it by running the command manually
I ran
yarn
and then
yarn dev
in your case you would need to check the command that is failing by checking
docker logs
and manually type that command bydocker exec -it bash _yourdockercontainername_