Adam
Adam

Reputation: 61

What is the difference between Expo CLI and Expo SDK

I am working on expo project by following online tutorials. I used npm install -g expo-cli to install the CLI. I also used expo init AwesomeProject to initialize a new expo project. Later i came to know that there is something called expo SDK and the latest version as of today is 42. So, i decided to check mine using expo --version. I got 4.3.2 as result and i can upgrade it to 4.9.1 by running npm install -g expo-cli. I realized that it is nothing do to with SDK version. Now i am confused with expo CLI and SDK because the tutorial doesn't even tell anything about SDK. Is it important to know about expo SDK ? and what's the difference between expo CLI and expo SDK and how to check its version? Thanks.

Upvotes: 6

Views: 6670

Answers (2)

Murali Mohan
Murali Mohan

Reputation: 41

Expo CLI is the set of commands that you use to interact with the Expo ecosystem to build, run and deploy your app. For ex: expo init, expo install, expo start, expo eject etc., commands are all part of the CLI.

Expo SDK is the set of packages that you 'import' for building your app. For eg: expo-location, expo-calendar are all packages that are part of SDK: Check out: https://docs.expo.dev/versions/v43.0.0/sdk/. The set of packages and their functionality vary for each SDK version.

When you run a command like

expo install expo-location

, you are using the expo's install command to install expo-location package for the SDK you are currently on.

Upvotes: 4

Eloi
Eloi

Reputation: 476

As far as I know, each version of Expo CLI is dependent on an SDK version and many other dependencies, and you should not update any dependency separately. You should wait for a new version of Expo CLI and when updating, probably, it will also update the version of the SDK. Expo CLI is just a command line that put together all expo dependencies and facilitates his installation in new projects. Expo SDK is the actual software that you use when you start expo and that gives your app access to multiple APIs.

Upvotes: 2

Related Questions