The instructions below are provided as in a best-effort basis. PRs with corrections and updates are welcome!
-
Install Homebrew
-
Go
version from go.mod-
Follow official instructions to install
Go
- On an M1 Mac, download ARM64 installer from https://go.dev/dl/
- Download the installer for
<version from go.mod>
- After installing, don't forget to
export PATH="/usr/local/go/bin:$PATH"
in~/.zprofile
- If you need other go versions, see https://go.dev/doc/manage-install
- You will need to add
export PATH="$HOME/go/bin:$PATH"
to the~/.zprofile
- You will need to add
-
Or install required version of
Go
with homebrew:
# if we are not on the latest, you might need to install like this: # brew install go@<version from go.mod>, i.e. 1.16 # # check which version will be installed by running: # brew info go brew install go
-
-
Rust
andCargo
version from build.assets/Makefile (search for RUST_VERSION):- Follow official instructions to install
rustup
- Or install with homebrew:
brew install rustup
- Initialize Rustup
rustup-init # # accept defaults # # Once command finishes successfully, you might need to add # # export PATH="$HOME/.cargo/bin:$PATH" # # into ~/.zprofile and run: # # . ~/.zprofile # # or open a new shell
- Install the required version
rustup toolchain install <version from build.assets/Makefile> cd <teleport.git> rustup override set <version from build.assets/Makefile> rustc --version ─╯ # rustc <version from build.assets/Makefile> (db9d1b20b 2022-01-20)
- Follow official instructions to install
-
To install
libfido2
(pullsopenssl 1.1.1
as dependency)brew install libfido2
-
To install
yarn
for building the UIbrew install node yarn
- Currently,
yarn
(< 2.0.0) is required
To run a full test suite locally, you will need
-
helm
andhelm-unittest
pluginbrew install helm helm plugin install https://github.com/quintush/helm-unittest
-
bats-core
version from build.assets/Dockerfile (search forbats-core
)curl -L https://github.com/bats-core/bats-core/archive/v1.2.1.tar.gz -o ~/Downloads/bats.tar.gz cd ~/Downloads tar xzvf bats.tar.gz sudo mkdir /usr/local/libexec sudo chown $USER /usr/local/libexec cd bats-core-1.2.1 sudo ./install.sh /usr/local cd ../ rm -rf bats-core-1.2.1 bats.tar.gz
-
protoc
binary, typically found inprotobuf
packagebrew install protobuf
-
gnu-sed
since Makefile tasks run inside linux containers typicallybrew install gnu-sed echo 'export PATH="/opt/homebrew/opt/gnu-sed/libexec/gnubin:$PATH"' >> ~/.zprofile
-
increased
ulimit -n
ulimit -n 2560 # 10x default