GeekyAnts / vue-native-cli

Write Native Mobile Apps using Vue. Vue Native is a wrapper around React Native APIs
92 stars 21 forks source link

why does error about global installation of Expo CLI occur for vue-native init command? #33

Closed knot22 closed 4 years ago

knot22 commented 4 years ago

When the vue-native init my-vue-app command is executed while in a location in the home directory of the guest the response is the following:

An error occurred while getting Expo CLI version Please globally install expo-cli

However, Expo CLI is installed globally - https://imgur.com/a/HS0b3j7

Environment details: Virtual Box 6.0 guest OS: Ubuntu 18.04 host OS: Windows 10 package versions on guest - nodeJS 8.10.0 npm 3.5.2 expo-cli 3.9.1 vue-native-cli 0.1.1

What is causing this error when Expo CLI is already installed globally? What should be done to get the vue-native init my-vue-app command to execute successfully?

RishabhKarnad commented 4 years ago

@knot22 please ensure that you have the latest version of vue-native-cli installed.

npm i -g vue-native-cli@latest

If the problem persists, please comment with the output you get when you run this:

expo-cli --version

If you see something like expo-cli: command not found, please make sure that expo-cli was correctly installed.

knot22 commented 4 years ago

I ran vue-native --version and it displayed 0.1.1.

Then I ran npm i -g vue-native-cli@latest and the output looked like this https://imgur.com/a/4VbWBPB - the version shown here matched the output of the previous command.

The output of running expo-cli --version is 3.9.1.

Also, I tried vue-native init my-vue-app again which resulted in the same response as described above.

RishabhKarnad commented 4 years ago

@knot22 if you don't need to be on Node v8, you could try upgrading to LTS v10 and try running the CLI again. We have been testing on v10 and above.

knot22 commented 4 years ago

I upgraded to Node v12.13.1, which also automatically upgraded npm to v6.12.1. The same error is occurring. Here is what was outputted to the terminal https://imgur.com/X3LW9GO.

This environment is working correctly to initialize Expo apps, so I believe Expo is installed correctly. This environment is also able to run the sample KitchenSink-Vue-Native app successful.

knot22 commented 4 years ago

I have been looking at the code trying to figure out why this isn't working. What doesn't make sense is this - the error message says the expo --version command failed. However, when that command is typed into the terminal manually, in the same location where the vue-native init my-vue-app was issued, it displays the expo version. See the last 2 lines of this screen shot: https://imgur.com/a/85pZPSE. Do you have any ideas about why that command is failing in the init process?

knot22 commented 4 years ago

I was able to get the vue-native init my-vue-app command working by starting with a clean VM and doing the package installation differently than on the first VM. Two changes were made on the second VM:

I'm not sure if one of these changes or both were necessary to get Vue Native to work because they were not tested separately but Vue Native is working now! Woo hoo!

Here is a screenshot of the package versions on the working VM: https://i.stack.imgur.com/mKk5o.png

RishabhKarnad commented 4 years ago

Thanks for the solution @knot22. It might be an issue related to paths not being set up correctly in the VM for some reason. I'll check it out in a VM whenever possible, but this should do it.