「Mise」:修訂間差異

出自Gea-Suan Lin's Wiki
跳至導覽 跳至搜尋
Gslin留言 | 貢獻
無編輯摘要
Gslin留言 | 貢獻
 
(未顯示同一使用者於中間所作的 8 次修訂)
第12行: 第12行:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
wget -qO - https://mise.jdx.dev/gpg-key.pub | gpg --dearmor | sudo tee /etc/apt/keyrings/mise-archive-keyring.gpg 1> /dev/null; echo "deb [signed-by=/etc/apt/keyrings/mise-archive-keyring.gpg arch=amd64] https://mise.jdx.dev/deb stable main" | sudo tee /etc/apt/sources.list.d/mise.list; sudo apt update; sudo apt install -y mise; sudo apt clean
wget -qO - https://mise.jdx.dev/gpg-key.pub | gpg --dearmor | sudo tee /etc/apt/keyrings/mise-archive-keyring.gpg 1> /dev/null; echo "deb [signed-by=/etc/apt/keyrings/mise-archive-keyring.gpg arch=amd64] https://mise.jdx.dev/deb stable main" | sudo tee /etc/apt/sources.list.d/mise.list; sudo apt update; sudo apt install -y mise; sudo apt clean
</syntaxhighlight>
ARM64的平台要使用<code>arm64</code>:
<syntaxhighlight lang="bash">
wget -qO - https://mise.jdx.dev/gpg-key.pub | gpg --dearmor | sudo tee /etc/apt/keyrings/mise-archive-keyring.gpg 1> /dev/null; echo "deb [signed-by=/etc/apt/keyrings/mise-archive-keyring.gpg arch=arm64] https://mise.jdx.dev/deb stable main" | sudo tee /etc/apt/sources.list.d/mise.list; sudo apt update; sudo apt install -y mise; sudo apt clean
</syntaxhighlight>
</syntaxhighlight>


第38行: 第44行:
     eval "$(mise activate zsh)"
     eval "$(mise activate zsh)"
fi
fi
</syntaxhighlight>
=== 其他設定 ===
另外,由於使用預先編好的[[Python]] binary可能會有PyPI套件無法安裝的問題(像是uwsgi<ref>{{Cite web |url=https://github.com/jdx/mise/issues/2969 |title=Cannot install uwsgi with mise's python@3.13.0 #2969 |language=en |accessdate=2024-11-23}}</ref>),這邊可以設定要求mise透過自己編來解決:
<syntaxhighlight lang="bash">
mise settings set python.compile 1
</syntaxhighlight>
</syntaxhighlight>


第51行: 第65行:


mise use -g node@lts
mise use -g node@lts
</syntaxhighlight>
常見的套件會有binary直接下載使用,但比較舊的版本(像是[[Python]] 2.7)就有可能會在本機上編譯,這時候可能會遇到因為缺少套件而編譯失敗的問題,需要查看log補上對應的套件再安裝。
=== 升級 ===
<syntaxhighlight lang="bash">
mise upgrade
</syntaxhighlight>
=== cron ===
在cron job裡面使用的話,目前的解法會用shims:
<syntaxhighlight lang="bash">
eval $(mise activate --shims)
</syntaxhighlight>
</syntaxhighlight>


第59行: 第89行:
* [[nvm]]
* [[nvm]]
* [[pyenv]]
* [[pyenv]]
== 參考資料 ==
{{Reflist|2}}


== 外部連結 ==
== 外部連結 ==


* {{Official|https://mise.jdx.dev/}} {{en}}
* {{Official|https://mise.jdx.dev/}} {{en}}
* [https://github.com/jdx/mise jdx/mise: dev tools, env vars, task runner]


[[Category:軟體]]
[[Category:軟體]]

於 2025年3月26日 (三) 15:27 的最新修訂

mise是一套支援多程式語言的版本管理軟體。

簡介

mise這類軟體避免了需要針對各程式語言實作安裝對應的version manager。另外mise除了自行實作的部分外,也支援了asdf生態系的設定,所以asdf可以安裝的程式語言,在mise上也可以安裝。

安裝

DebianUbuntu上可以透過官方的APT Repository安裝:

wget -qO - https://mise.jdx.dev/gpg-key.pub | gpg --dearmor | sudo tee /etc/apt/keyrings/mise-archive-keyring.gpg 1> /dev/null; echo "deb [signed-by=/etc/apt/keyrings/mise-archive-keyring.gpg arch=amd64] https://mise.jdx.dev/deb stable main" | sudo tee /etc/apt/sources.list.d/mise.list; sudo apt update; sudo apt install -y mise; sudo apt clean

ARM64的平台要使用arm64

wget -qO - https://mise.jdx.dev/gpg-key.pub | gpg --dearmor | sudo tee /etc/apt/keyrings/mise-archive-keyring.gpg 1> /dev/null; echo "deb [signed-by=/etc/apt/keyrings/mise-archive-keyring.gpg arch=arm64] https://mise.jdx.dev/deb stable main" | sudo tee /etc/apt/sources.list.d/mise.list; sudo apt update; sudo apt install -y mise; sudo apt clean

但Raspberry Pi目前需要手動安裝,這是32-bit版本:

cd /usr/bin; sudo wget https://github.com/jdx/mise/releases/download/v2024.10.9/mise-v2024.10.9-linux-armv7; sudo chmod 755 mise-v2024.10.9-linux-armv7; sudo ln -sf mise-v2024.10.9-linux-armv7 mise

設定

在自己的~/.bashrc裡面設定啟動:

#
if command -v mise > /dev/null; then
    eval "$(mise activate bash)"
fi

zsh也可以設定對應的值:

#
if command -v mise > /dev/null; then
    eval "$(mise activate zsh)"
fi

其他設定

另外,由於使用預先編好的Python binary可能會有PyPI套件無法安裝的問題(像是uwsgi[1]),這邊可以設定要求mise透過自己編來解決:

mise settings set python.compile 1

使用

一些基本的操作:

mise ls

mise use -g python@3.12
mise install python@3.9

mise use -g node@lts

常見的套件會有binary直接下載使用,但比較舊的版本(像是Python 2.7)就有可能會在本機上編譯,這時候可能會遇到因為缺少套件而編譯失敗的問題,需要查看log補上對應的套件再安裝。

升級

mise upgrade

cron

在cron job裡面使用的話,目前的解法會用shims:

eval $(mise activate --shims)

相關連結

參考資料

外部連結