Getting Started
Install Buffalo
In this chapter, you’ll learn how to install Buffalo, either from pre-built binaries or from source.
Buffalo provides two major components:
- The
buffalotool, a powerful toolbox to help you develop in a fast and efficient way. - The buffalo framework, a collection of pieces to construct your app.
Buffalo is currently available and tested on the following platforms:
- GNU/Linux
- Mac OSX
- Windows
Requirements
Before installing make sure you have the required dependencies installed:
- A working Go environment
- Go version
v1.16.0.
Frontend Requirements
The following requirements are optional. You don’t need them if you want to build an API or if you prefer to build your app in an old-fashioned way.
- node version
8or greater - either yarn or npm for the asset pipeline built upon webpack.
Database Specific Requirements
Again, if you don’t need a database, you won’t need these.
- SQLite 3: GCC, or equivalent C compiler for mattn/go-sqlite3.
Installation from a Release Archive - 64 bits
Since v0.10.3, pre-compiled archives are provided with each release. If you don’t need the latest cutting-edge version, you’ll probably prefer to install this version.
GNU / Linux
$ wget https://github.com/gobuffalo/cli/releases/download//buffalo__Linux_x86_64.tar.gz
$ tar -xvzf buffalo__Linux_x86_64.tar.gz
$ sudo mv buffalo /usr/local/bin/buffalo
MacOS
$ curl -OL https://github.com/gobuffalo/cli/releases/download//buffalo__Darwin_x86_64.tar.gz
$ tar -xvzf buffalo__Darwin_x86_64.tar.gz
$ sudo mv buffalo /usr/local/bin/buffalo
# or if you have ~/bin folder setup in the environment PATH variable
$ mv buffalo ~/bin/buffalo
Scoop (Windows)
Buffalo can be installed using the Scoop package manager:
PS C:\> scoop install buffalo
Chocolatey (Windows)
Buffalo can be installed using the Chocolatey package manager. Versions on Chocolatey are published with a potential delay and must go through moderation before they are available:
PS C:\> choco install buffalo
Homebrew (macOS)
On macOS, you can also install Buffalo with Homebrew. After you have Homebrew installed, you can easily install Buffalo:
brew install gobuffalo/tap/buffalo
GoFish (Cross-Platforms)
GoFish is a cross-platform systems package manager, that works across Windows, MacOSX and Linux.
After you have GoFish installed, you can very simply install Buffalo:
$ gofish install buffalo
==> Installing buffalo...
🐠 buffalo : installed in 3.223672926s
Custom Installation with SQLite3 Support
SQLite 3 requires a GCC, or equivalent C compiler for mattn/go-sqlite3 to compile. You must have a GCC installed first before installing Buffalo.
$ go install -tags sqlite github.com/gobuffalo/cli/cmd/buffalo@
Windows Users: Follow the installation guide at https://blog.gobuffalo.io/install-buffalo-on-windows-10-e08b3aa304a3 to install a GCC for Windows 10. Alternatively, GCC can be installed with the Scoop package manager:
PS C:\> scoop install gcc
Custom Installation without SQLite3 Support
$ go install github.com/gobuffalo/cli/cmd/buffalo@
Verify Your Installation
You can check if your installation is working, by executing the buffalo command in a terminal/command prompt:
$ buffalo
Build Buffalo applications with ease
Usage:
buffalo [command]
Available Commands:
build Build the application binary, including bundling of webpack assets
completion Generate the autocompletion script for the specified shell
db [PLUGIN] [DEPRECATED] please use `buffalo pop` instead.
destroy Destroy generated components
dev Run the Buffalo app in 'development' mode
fix Attempt to fix a Buffalo applications API to match version v0.18.6
generate Generate application components
help Help about any command
info Print diagnostic information (useful for debugging)
new Creates a new Buffalo application
plugins tools for working with buffalo plugins
pop [PLUGIN] A tasty treat for all your database needs
routes Print all defined routes
setup Setup a newly created, or recently checked out application.
task Run grift tasks
test Run the tests for the Buffalo app. Use --force-migrations to skip schema load.
version Print the version information
Flags:
-h, --help help for buffalo
Use "buffalo [command] --help" for more information about a command.
If you have a similar output, your Buffalo toolbox is ready to work!
Next Steps
- Generate a New Project - Create your first Buffalo project!