Getting Started

To start by manually deploying a folder with a static site to Netlify, make sure you have Node.js installed and then follow these steps:

npm install netlify-cli -g;
cd ~/my-static-website;
netlify deploy

Helpful Hints

If you are creating a new site on Netlify, or just moving a pre-existing site onto the platform, it’s good to keep the following things in mind:

NodeJS (including React)

If the static site generator you are using is built with NodeJS:

Make sure your package.json contains the name of your tool. Do so by running the following command in your terminal:

$ npm install TOOLNAME --save

If your project directory has the same name as your tool, the above command will fail. So make sure your project name is something different.

You also need a .nvmrc file at the root of your project to tell Netlify which version of NodeJS to use. In the terminal, enter this command:

$ node -v > .nvmrc

To create a file to tell Netlify which version of Node.js to use. The version of node you use is dynamically fetched using nvm and then cached to speed up builds. If you don’t specify a version, we default to using node 6.9.1 as of this writing (December 2016).

Ruby

If you are using a static site generator built with Ruby:

You need a Gemfile and a Gemfile.lock to tell Netlify which versions of your preferred tool to use. If there isn’t one, run the following command from the root directory of your project in the terminal:

$ bundle init

Open the resulting Gemfile in your favorite text editor. Replace the following line:

# gem "ruby"

with this line:

gem "NAME_OF_YOUR_STATIC_SITE_GENERATOR"

Make sure you delete the #, then save.

Now run this command:

$ bundle install

This will install the gem for the tool you’ve chosen and create a file called Gemfile.lock. This file will ensure that Netlify always uses the same version of of your tool that you used to build your site, thus avoiding any nasty surprises.

We also recommend specifying a version of Ruby that matches your build environment. Our default is version 2.1.2 but you can pick a different version by using a/.ruby-version file. We currently support the following ruby versions:

2.0.0-p247

2.1.2

2.2.1

2.2.3

2.3.0

2.3.1

2.3.3

2.4.0

Python

If your static site generator is built with Python:

It’s usually a good idea (but not necessary) to set up a virtual environment for Python projects. If you don’t know how to do so, follow these directions.

You want to make sure that Netlify knows exactly which versions of various Python plugins you are using. Do this by creating a file called requirements.txt in your project’s root directory:

$ pip freeze > requirements.txt

You can tell Netlify which version of Python to use to build your site by placing a runtime.txt file in your project’s root directory. We currently support versions 2.7.4 and 3.4.0.

Notice something is incorrect or outdated?

First off, great eye! We appreciate your discovery and want to ensure it gets addressed immediately. Please let us know here.