github.com/gnolang/gno@v0.0.0-20240520182011-228e9d0192ce/docs/getting-started/local-setup/installation.md (about)

     1  ---
     2  id: installation
     3  ---
     4  
     5  # Installation
     6  
     7  ## Overview
     8  In this tutorial, you will learn how to set up the Gno development environment 
     9  locally, so you can get up and running writing Gno code. You will download and 
    10  install all the necessary tooling, and validate that it is correctly configured
    11  to run on your machine.
    12  
    13  ## Prerequisites
    14  - **Git**
    15  - **`make` (for running Makefiles)**
    16  - **Go 1.19+**
    17  - **Go Environment Setup**:
    18    - Make sure `$GOPATH` is well-defined, and `$GOPATH/bin` is added to your `$PATH` variable.
    19    - To do this, you can add the following line to your `.bashrc`, `.zshrc` or other config file:
    20  ```
    21  export GOPATH=$HOME/go
    22  export PATH=$GOPATH/bin:$PATH
    23  ```
    24  
    25  ## 1. Cloning the repository
    26  To get started with a local Gno.land development environment, you must clone the
    27  GitHub repository somewhere on disk:
    28  
    29  ```bash
    30  git clone https://github.com/gnolang/gno.git
    31  ```
    32  
    33  ## 2. Installing the required tools 
    34  
    35  There are three tools that should be used for getting started with Gno development:
    36  - `gno` - the GnoVM binary
    37  - `gnodev` - the Gno [development helper](../../gno-tooling/cli/gnodev.md)
    38  - `gnokey` - the Gno [keypair manager](working-with-key-pairs.md)
    39  
    40  To install all three  tools, simply run the following in the root of the repo:
    41  ```bash
    42  make install
    43  ```
    44  
    45  ## 3. Verifying installation 
    46  
    47  ### `gno`
    48  `gno` provides ample functionality to the user, among which is running,
    49  transpiling, testing and building `.gno` files. Read more
    50  about `gnokey` [here](../../gno-tooling/cli/gno.md).
    51  
    52  To verify the `gno` binary is installed system-wide, you can run:
    53  
    54  ```bash
    55  gno --help
    56  ```
    57  
    58  You should get the help output from the command:
    59  
    60  ![gno help](../../assets/getting-started/local-setup/local-setup/gno-help.gif)
    61  
    62  Alternatively, if you don't want to have the binary callable system-wide, you 
    63  can run the binary directly:
    64  
    65  ```bash
    66  cd gnovm
    67  go run ./cmd/gno --help
    68  ```
    69  
    70  ### `gnodev`
    71  `gnodev` is the go-to Gno development helper tool - it comes with a built in 
    72  Gno.land node, a `gnoweb` server to display the state of your smart contracts 
    73  (realms), and a watcher system to actively track changes in your code. Read more
    74  about `gnodev` [here](../../gno-tooling/cli/gnodev.md).
    75  
    76  To verify that the `gnodev` binary is installed system-wide, you can run:
    77  
    78  ```bash
    79  gnodev
    80  ```
    81  
    82  You should get the following output:
    83  ![gnodev](../../assets/getting-started/local-setup/local-setup/gnodev.gif)
    84  
    85  
    86  ### `gnokey`
    87  
    88  `gnokey` is the Gno.land keypair management CLI tool. It allows you to create
    89  keypairs, sign transactions, and broadcast them to Gno.land chains. Read more
    90  about `gnokey` [here](../../gno-tooling/cli/gnokey.md).
    91  
    92  To verify that the `gnokey` binary is installed system-wide, you can run:
    93  
    94  ```bash
    95  gnokey --help
    96  ```
    97  
    98  You should get the help output from the command:
    99  
   100  ![gnokey help](../../assets/getting-started/local-setup/local-setup/gnokey-help.gif)
   101  
   102  ## Conclusion
   103  
   104  That's it 🎉
   105  
   106  You have successfully built out and installed the necessary tools for Gno
   107  development!
   108  
   109  In further documents, you will gain a better understanding on how they are used
   110  to make Gno work.