ΠŸΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΊ основному содСрТимому

asdf

asdf -- ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ вСрсий, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ Python, Node, Elixir ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π»ΡŽΠ±Ρ‹Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ языки ΠΈ окруТСния, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠΌΠ΅Π΅Ρ‚ смысл ΠΈΠΌΠ΅Ρ‚ΡŒ нСсколько вСрсий Π½Π° машинС ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ.

Установка:​

git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.7.8  

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊ ΡˆΠ΅Π»Π»Ρƒ:​

bash:

echo -e '\\n. $HOME/.asdf/asdf.sh' >> ~/.bashrc

echo -e '\\n. $HOME/.asdf/completions/asdf.bash' >> ~/.bashrc

zsh:

echo -e '\\n. $HOME/.asdf/asdf.sh' >> ~/.zshrc

echo -e '\\n. $HOME/.asdf/completions/asdf.bash' >> ~/.zshrc

Fish:

echo 'source ~/.asdf/asdf.fish' >> ~/.config/fish/config.fish

mkdir -p ~/.config/fish/completions; and cp ~/.asdf/completions/asdf.fish ~/.config/fish/completions

ПослС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ шСлла Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ.

Для Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ систСмныС зависимости:

Ubuntu:​

sudo apt install \\

automake autoconf libreadline-dev \\

libncurses-dev libssl-dev libyaml-dev \\

libxslt-dev libffi-dev libtool unixodbc-dev \\

unzip curl
sudo apt-get install -y build-essential libssl-dev zlib1g-dev libbz2-dev \\

libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \\

xz-utils tk-dev libffi-dev liblzma-dev python-openssl git

Fedora:​

sudo dnf install @development \\

zlib-devel bzip2 bzip2-devel readline-devel sqlite \\

sqlite-devel openssl-devel xz xz-devel libffi-devel findutils
sudo dnf install \\

automake autoconf readline-devel \\

ncurses-devel openssl-devel libyaml-devel \\

libxslt-devel libffi-devel libtool unixODBC-devel \\
unzip curl

ОбновлСниС:​

asdf update

ΠŸΠ»Π°Π³ΠΈΠ½Ρ‹:​

Бписок ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ²:​

asdf plugin-list-all

Бписок установлСнных ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ²:​

asdf plugin-list

Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ»Π°Π³ΠΈΠ½:​

asdf plugin-add python
asdf plugin-add nodejs

ОбновлСниС ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ²:​

asdf plugin-update --all

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ вСрсиями:​

Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ:​

asdf install <name> <version>
НапримСр:​
asdf install python 3.7.3
asdf install python 3.8-dev

Бписок всСх доступных вСрсий:​

asdf list-all <name>

Бписок установлСнных вСрсий:​

asdf list <name>

Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ:​

asdf global <name> <version> \[<version>...\]
asdf local <name> <version> \[<version>...\]

# asdf global elixir 1.2.4

global -- глобально, для всСй систСмы

local -- локально, для Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ вСрсии:​

asdf current

Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ:​

asdf uninstall <name> <version>

ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ любой вСрсии ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π²Ρ‹Π±ΠΎΡ€ глобальной вСрсии, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π² качСствС глобальной вСрсии ΡΠΈΡΡ‚Π΅ΠΌΠ½ΡƒΡŽ:

asdf global python system

Для автоматичСского ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ вСрсий ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» .tool-versions, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ содСрТаниСм:

nodejs 10.14.2

python 3.7.4

###### tags: []