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/versions.mk> cd <teleport.git> rustup override set <version from build.assets/versions.mk> rustc --version # rustc <version from build.assets/versions.mk>
- Follow official instructions to install
-
To install
libfido2
(pullsopenssl 3
as dependency)brew install libfido2
-
To install
pkg-config
brew install pkg-config
-
To install tools for building the UI:
brew install node corepack
corepack enable pnpm
- The
Rust
andCargo
version in build.assets/Makefile (search forRUST_VERSION
) are required. - The
wasm-pack
version in build.assets/Makefile (search forWASM_PACK_VERSION
) is required:curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
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
-
increased
ulimit -n
ulimit -n 2560 # 10x default