Skip to main content
Version: 2.1.0

Setup your Development Machine

Install NodeJS

If you haven't already, install NodeJS on your machine.

The tooling needed to setup Lexicon relies heavily on Node and npm.

If you are unsure of how to install NodeJS, you can follow the instructions on the NodeJS Website.

Supported Node Versions

It is recommended that you perform this tutorial using the latest version of Node that is compatible with the the project's version of Expo.

You can always confirm this by viewing the dependencies in frontend/package.json.

If your setup doesn't allow you to easily change your current Node version, we would recommend making use of nvm to quickly switch between Node versions.

Install yarn, if you prefer

Lexicon doesn't leverage any special features of Yarn - the alternative package manager for Node. If you prefer it, it will work the same as running npm install.

For the purposes of this tutorial, we will demonstrate all commands using npm.

Clone the Lexicon Repository

In a desirable location on your development machine, clone the Lexicon repository and cd into it.

git clone [email protected]:lexiconhq/lexicon.git
cd lexicon

Install Dependencies

Next, install Lexicon's dependencies:

npm install

This will install dependencies for both the Mobile App and the backend GraphQL API, Prose.

Install the Expo CLI

Expo is the phenomenal toolchain that Lexicon uses to develop and build the Mobile App.

We will later use the Expo CLI to launch the Mobile App - either on your device or in a simulator.

You can install the Expo CLI with the following command:

npm install --global expo-cli

Further information is available in the Expo docs.

Then, verify that Expo is available in your PATH with the following:

$ expo --version
<current version will be displayed>

Install the EAS CLI

Expo Application Services (EAS) is an integrated set of cloud services for Expo and React Native apps.

We will use the EAS CLI to build and publish the Mobile App.

You can install the EAS CLI with the following command:

npm install --global eas-cli

Further information is available in the Expo docs.

Then, verify that EAS is available in your PATH with the following:

$ eas --version
eas-cli/<current version>

Ready to Go!

That's all we need for this step.

Next, there is an optional guide to help you if you're not too familiar with setting up a server on a cloud provider.

You're free to skip this if you're already adept at this process.

After that, we'll look into how we can prepare Discourse to connect with the Lexicon Mobile App.

If you don't already have a Discourse server setup, we'll get into that as well.