now CLI is the main interface to the now cloud.
It's available on Mac, Linux and Windows either via
or as pre-built binaries. The recommended installation mechanism is by installing Now Desktop
which also ensures it's always up-to-date.
While the default behavior of
now is to deploy, it also has a variety of sub-commands grouped by different concerns.
Here's the full list of all command available and what you can do with them:
The commands you should remember when working with now daily:
now deploy [path]
|When you invoke |
now, the files within the current directory will be uploaded to Now and a new deployment will be created. After that, you'll instantly receive its URL so that you can share it with other people around the globe.
now ls|list [app]
|Show a list of all deployments. If |
[app] is defined, it will only list the deployments under that namespace.
now rm|remove [id]
|Remove a deployment from our platform. The |
[id] parameter can either be the URL of your deployment (e.g.
https://static-ytbbrhoggd.now.sh or the hostname (e.g.
now ln|alias [id] [url]
|Let's you configure an alias for an existing deployment. You can read more about how to take the maximum of functionality out of this sub command here.|
now domains [name]
|Allows you to manage your domain names directly from the command line (before using them as aliases with |
now alias). Read more about it here.
now certs [cmd]
|By default, Now will automatically provision certificates for your deployments. Using this sub command, you can see when they're expiring and upload your own ones (read more).|
now secrets [name]
now dns [name]
|Running this sub command will open the latest deployment of the project within the current directory in your default browser (aliases won't be respected).|
Help you to manage your account straight from your terminal:
|Easily add or remove credits cards from your account and adjust billing methods.|
now upgrade|downgrade [plan]
|Switch your plan from within the command line interface. Even after the command is run, we don't require you to use a web interface. The whole process happens directly in your terminal.|
To show the list of sub commands and options in your terminal, run this command:
Now uses the metafiles inside your project to determine which files and directories should be uploaded to our platform and which ones should be ignored:
.gitignore exists, we don't upload the contents that are defined in it
.npmignore exists, we don't upload the contents that are defined in it and ignore the existence of .gitignore
But it will get a little tricky if you're using the
: In that case, we follow npm
's behaviour. This means that if
exists (which as per definition
defines which files should
will take precedence and have the final word on which items will be uploaded to Now
This means that if you want to specify a list of files that should never be ignored when it comes to now, you should either use the
files) property inside
package.json or the
files property inside
You can learn more about how to use this property here