# Get Started
You may find complete project setups in [get-started examples](https://github.com/visgl/react-map-gl/tree/8.0-release/examples/get-started).
## Installation
Using `react-map-gl` requires `node >= 12` and `react >= 16.3`.
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
```bash
npm install react-map-gl mapbox-gl @types/mapbox-gl
```
```bash
npm install react-map-gl maplibre-gl
```
## Example
```tsx title="app.tsx"
import * as React from 'react';
import Map from 'react-map-gl/mapbox';
// If using with mapbox-gl v1:
// import Map from 'react-map-gl/mapbox-legacy';
import 'mapbox-gl/dist/mapbox-gl.css';
function App() {
return (
);
}
```
See [about Mapbox tokens](./mapbox-tokens.md) for alternatives to providing a Mapbox token.
```tsx title="app.tsx"
import * as React from 'react';
import Map from 'react-map-gl/maplibre';
import 'maplibre-gl/dist/maplibre-gl.css';
function App() {
return (
);
}
```
## Styling
The base map library requires its stylesheet be included at all times. The marker, popup and navigation components in react-map-gl also need the stylesheet to work properly.
The above example code imports the CSS file directly into the app. Most bundlers support this syntax out-of-the-box or with an official plugin.
Alternatively, you may add the stylesheet to the head of your page:
```html title="index.html"
```
Find out your mapbox version by running `yarn list mapbox-gl` or `npm ls mapbox-gl`.
```html title="index.html"
```
Find out your maplibre version by running `yarn list maplibre-gl` or `npm ls maplibre-gl`.