Skip to content

☀️ Cool and eclectic version manager for any language

License

Notifications You must be signed in to change notification settings

markelog/eclectica

Folders and files

NameName
Last commit message
Last commit date

Latest commit

44391f0 · Jan 21, 2025
Sep 28, 2023
Feb 28, 2018
Oct 19, 2022
Jan 21, 2025
Dec 24, 2017
Jul 29, 2018
Aug 31, 2018
Dec 25, 2017
Oct 10, 2024
Mar 30, 2018
Sep 12, 2022
Jul 26, 2018
Sep 12, 2022
Jun 8, 2019
Sep 12, 2022
Oct 19, 2022
Mar 4, 2018
Dec 26, 2017
Jun 10, 2019
Sep 28, 2023
Oct 19, 2022
Oct 19, 2022
Jul 5, 2016
Jan 21, 2025

Repository files navigation

Eclectica

Cool and eclectic version manager for any language

Build Status GoDoc Go Report



Eclectica unifies management of any language under one cohesive and minimalistic interface. Like pyenv for Python, rbenv for Ruby, nvm Node.js and etc.

But instead of having all of those, you have only one binary

Usage

After you install eclectica, ec program will be available in your terminal, I used to have a nice site with fancy animation explaning how to used it, but help output will do too -

$ ec --help

Usage:
  ec [command] [flags] [<language>@<version>]

Examples:
  Install specifc, say, node version
  $ ec [email protected]

  Or choose from already installed Go versions
  $ ec go

  Same way to choose, plus install available Rust versions
  $ ec -r rust

Available Commands:
  completion        generate the autocompletion script for the specified shell
  install           same as "ec [<language>@<version>]"
  ls                list installed language versions
  remove-everything removes everything related to eclectica
  rm                remove language version
  version           print version of eclectica

Flags:
  -h, --help   help for ec

Use "ec [command] --help" for more information about a command

Install

Since eclectica is language manager for any language, it should be installed through any package manager :-)

go get

go install github.com/markelog/eclectica/bin/{ec,ec-proxy}@latest

npm

[sudo] npm install -g eclectica

pip

sudo -H pip install -v eclectica

gem

sudo gem install eclectica

cargo

cargo install eclectica

curl

curl -s https://raw.githubusercontent.com/markelog/ec-install/master/scripts/install.sh | sh

Default installation folder is /usr/local/bin, so you might need to execute sh with sudo like this –

curl -s https://raw.githubusercontent.com/markelog/ec-install/master/scripts/install.sh | sudo sh

if you need to install it to your $HOME for example, do this

curl -s https://raw.githubusercontent.com/markelog/ec-install/master/scripts/install.sh | EC_DEST=~/bin sh

wget

wget -qO - https://raw.githubusercontent.com/markelog/ec-install/master/scripts/install.sh | sh

Default installation folder is /usr/local/bin, so you might need to execute sh with sudo like this –

wget -qO - https://raw.githubusercontent.com/markelog/ec-install/master/scripts/wget-install.sh | sudo sh

if you need to install it to your $HOME for example, do this

wget -qO - https://raw.githubusercontent.com/markelog/ec-install/master/scripts/wget-install.sh | EC_DEST=~/bin sh