eclectica

module
v0.0.0-...-ece29da Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 16, 2025 License: MIT

README

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 node@6.4.0

  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/difficultch/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

Directories

Path Synopsis
bin
ec command
ec-proxy command
cmd
commands
Package commands defines CLI API
Package commands defines CLI API
commands/install
Package install installs the languages
Package install installs the languages
commands/ls
Package ls defines "list" command i.e.
Package ls defines "list" command i.e.
commands/path
Package path defines "path" command i.e.
Package path defines "path" command i.e.
commands/remove-everything
Package removeEverything defines "remove-everything" command i.e.
Package removeEverything defines "remove-everything" command i.e.
commands/rm
Package rm defines "remove" command
Package rm defines "remove" command
commands/version
Package version defines "version" command i.e.
Package version defines "version" command i.e.
info
Package info provides ways to acquiring additional info from the user
Package info provides ways to acquiring additional info from the user
print
Package print have methods to print various eclectica info in style
Package print have methods to print various eclectica info in style
print/custom-spinner
Package CustomSpinner provides spinner with additional custom logic
Package CustomSpinner provides spinner with additional custom logic
print/spinner
Package spinner provides essential (empty) spinner
Package spinner provides essential (empty) spinner
Package console provides helpful console related methods
Package console provides helpful console related methods
Package io provides some helpful IO functions with simplified signatures in the context of eclectica package
Package io provides some helpful IO functions with simplified signatures in the context of eclectica package
Package pkg provides helpful base interfaces and struct definitions
Package pkg provides helpful base interfaces and struct definitions
Package plugins provides essential logic for installation of the plugins
Package plugins provides essential logic for installation of the plugins
elm
Package elm provides all needed logic for installation of Elm
Package elm provides all needed logic for installation of Elm
golang
Package golang provides all needed logic for installation of Golang
Package golang provides all needed logic for installation of Golang
nodejs
Package nodejs provides all needed logic for installation of node.js
Package nodejs provides all needed logic for installation of node.js
nodejs/modules
Package modules is a way for installation node modules for node.js plugin
Package modules is a way for installation node modules for node.js plugin
python
Package python provides all needed logic for installation of python
Package python provides all needed logic for installation of python
python/patch
Package patch provides logic for applying patches for the python installation
Package patch provides logic for applying patches for the python installation
ruby
Package ruby provides all needed logic for installation of ruby
Package ruby provides all needed logic for installation of ruby
ruby/bin
Package bin provides ruby binary plugin
Package bin provides ruby binary plugin
ruby/compile
Package compile provides ruby compilation plugin
Package compile provides ruby compilation plugin
rust
Package rust provides all needed logic for installation of rust
Package rust provides all needed logic for installation of rust
Package rc provides a bit of logic for .*.rc files
Package rc provides a bit of logic for .*.rc files
Package request provides methods simplified signatures for http requests
Package request provides methods simplified signatures for http requests
Package shell works with shell for eclectica
Package shell works with shell for eclectica
Package strings provides simplified signatures for strings
Package strings provides simplified signatures for strings
Package versions provides helpful methods for anything related to the versions in eclectica
Package versions provides helpful methods for anything related to the versions in eclectica

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL