Here's a handy cheat sheet if you find yourself needing an exotic version of Ruby, Python, Node or Rust. Other version management tools are available for ruby, python and node, I just happen to like these ones.
Action | Ruby | Python | Node | Rust |
---|---|---|---|---|
List available versions to install | rbenv install --list | pyenv install --list | nvm ls-remote | n/a |
Install specific version | rbenv install 2.5.1 | pyenv install 3.6.6 | nvm install v10.9.0 | rustup use nightly-2018-08-01 |
List locally installed versions | rbenv versions | pyenv versions | nvm ls | rustup show |
Pin a project to a version | rbenv local 2.5.1 | pyenv local 3.6.6 | echo v10.9.0 > .nvmrc ; nvm use | rustup override nightly-2018-08-01 |
Set global version | rbenv global 2.5.1 | pyenv global 3.6.6 | n/a | rustup default nightly-2018-08-01 |
Python virtual environments
This assumes you've pinned your project to a specific version of python.
# create an virtual environment pyenv virtualenv thingy # activate! pyenv activate thingy # do your thang! pip install pylint black pytest # exit virtual environment pyenv deactivate
Rust components (standard libraries, RLS, clippy)
Components will install for the active toolchain (stable, nightly, beta)
To install RLS: rustup component add rls-preview rust-analysis rust-src
To install clippy: rustup component add clippy-preview
Rust docs
Did you know you always get an off-line copy of the Rust documentation (language reference, standard library and the Rust book) suite when you install a toolchain? To open it for the active toolchain: rustup doc
Top comments (1)
nvm is not crossplatform :(
nvm doesn't like yarn's global installs :(
afaik pnpm global installs are fine though.