跳至主要內容

標籤「安裝」的 4 篇文章

查看所有標籤

pyenv 安裝

· 3 分鐘閱讀

這篇備忘錄記錄了 pyenv 的安裝。

資訊

pyenv 是一個命令行工具,用於管理多個 Python 版本。它允許你在同一台機器上輕鬆地安裝、切換和管理不同的 Python 環境,而不會相互衝突。

這對於需要使用不同 Python 版本進行開發的項目(例如,一個項目需要 Python 3.8,另一個需要 Python 3.10)非常有用。

1. 安裝 pyenv

安裝 pyenv 的方法因操作系統而異。

A. macOS (使用 Homebrew) - 推薦

在 macOS 上,使用 Homebrew 安裝 pyenv 是最簡單的方法。

brew update
brew install pyenv

B. Linux (使用 pyenv-installer 腳本) - 推薦

對於 Linux 系統,可以使用 pyenv-installer 腳本來自動化安裝 pyenv 及其常用的插件。

curl https://pyenv.run | bash

C. Windows (使用 pyenv-win)

對於 Windows 用戶,官方推薦使用 pyenv-win,它是 pyenv 的一個 Windows 版本。

# 通過 PowerShell 安裝
Invoke-WebRequest -UseBasicParsing -Uri "https://raw.githubusercontent.com/pyenv-win/pyenv-win/master/pyenv-win/install-pyenv-win.ps1" | Invoke-Expression

# 或者通過 pip 安裝 (需要先有 Python 環境)
pip install pyenv-win --target %USERPROFILE%\.pyenv

請參考 pyenv-win 的 GitHub 儲存庫獲取最新安裝說明:https://github.com/pyenv-win/pyenv-win

2. 配置 Shell 環境

安裝 pyenv 後,你需要將其添加到你的 Shell 環境中。這會讓 pyenv 命令在你的終端中可用。

A. Bash

將以下內容添加到你的 ~/.bashrc (或 ~/.bash_profile) 文件中:

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)" # 確保 shell 能夠加載 pyenv
eval "$(pyenv virtualenv-init -)" # 如果你計劃使用虛擬環境

完成後,重新載入你的 shell 配置:

source ~/.bashrc

B. Zsh

將以下內容添加到你的 ~/.zshrc 文件中:

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

完成後,重新載入你的 shell 配置:

source ~/.zshrc

C. 驗證安裝

打開一個新的終端會話,然後運行:

pyenv --version

如果成功,它會顯示 pyenv 的版本號。

3. 安裝 Python 版本

現在你可以使用 pyenv install 命令來安裝你需要的 Python 版本。

查看可用的 Python 版本

pyenv install --list

這會列出所有可安裝的 Python 版本,包括 CPython、Jython、Anaconda 等。

安裝特定版本

pyenv install 3.9.10 # 安裝 Python 3.9.10
pyenv install 3.10.6 # 安裝 Python 3.10.6

安裝可能需要一些時間,因為它會下載源碼並編譯 Python。

4. 使用 Python 版本

全局設置 Python 版本

設置全局 Python 版本:

pyenv global 3.10.6

這會將 3.10.6 設置為你所有 shell 會話的默認 Python 版本。

局部設置 Python 版本 (專案目錄)

在專案目錄中,你可以設置一個局部 Python 版本。

cd my_project
pyenv local 3.9.10

這會在當前目錄中創建一個 .python-version 文件。當你進入這個目錄時,pyenv 會自動切換到指定的 Python 版本。

查看當前使用的 Python 版本

pyenv versions

當前使用的版本會被標記一個星號 *

* 3.10.6 (set by /home/user/.pyenv/version)
3.9.10

5. 總結

pyenv 是一個非常實用且強大的工具,用於管理 Python 版本。它提供了一種簡潔而可靠的方式來應對多個 Python 環境的需求,避免了版本衝突,讓你的開發工作流更加順暢。正確安裝和配置 pyenv 是任何嚴肅 Python 開發者的基本技能。

如何為 Ubuntu 安裝 .NET

· 3 分鐘閱讀

這篇備忘錄記錄了如何為 Ubuntu 安裝 .NET。

資訊

.NET 是一個免費、開源的開發平台,用於構建各種應用程式,包括 Web、移動、桌面、遊戲和物聯網。在 Ubuntu 上安裝 .NET 可以讓你開發和運行 .NET 應用程式。

1. 預覽 .NET 版本

在安裝之前,建議查看可用的 .NET SDK 和運行時版本,以選擇你需要的版本。

訪問官方 .NET 下載頁面:https://dotnet.microsoft.com/download/dotnet

通常你會看到 LTS (長期支持) 版本和 Current (當前) 版本。對於生產環境,通常建議使用 LTS 版本。

2. 安裝 .NET SDK (推薦)

安裝 SDK 會同時包含運行時 (Runtime),這對於開發和運行應用程式都是必要的。

A. 註冊 Microsoft 套件儲存庫

Microsoft 提供了一個套件儲存庫,以便你可以使用 apt 包管理器輕鬆安裝 .NET。

  1. 安裝必要工具

    sudo apt update
    sudo apt install -y apt-transport-https ca-certificates curl
  2. 下載並註冊 Microsoft 簽名密鑰

    curl -fSsL https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/microsoft.gpg > /dev/null
  3. 添加 Microsoft 套件儲存庫: 根據你的 Ubuntu 版本,選擇對應的命令。 例如,對於 Ubuntu 22.04 (Jammy Jellyfish):

    echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/trusted.gpg.d/microsoft.gpg] https://packages.microsoft.com/ubuntu/22.04/prod $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/dotnet.list

    22.04 替換為你的 Ubuntu 版本號。$(lsb_release -cs) 會自動獲取你的 Ubuntu 代號。

B. 安裝 .NET SDK

  1. 更新套件列表

    sudo apt update
  2. 安裝 SDK: 安裝最新 LTS 版本的 .NET SDK。

    sudo apt install -y dotnet-sdk-8.0 # 安裝 .NET 8 SDK

    如果你想安裝特定版本,例如 .NET 6 SDK,可以使用 dotnet-sdk-6.0

C. 驗證安裝

dotnet --version

這應該會顯示已安裝的 .NET SDK 版本。

3. 安裝 .NET Runtime (如果只需運行應用程式)

如果你只打算運行使用 .NET 開發的應用程式,而不需要開發,可以只安裝運行時。

A. 安裝 ASP.NET Core Runtime

sudo apt install -y aspnetcore-runtime-8.0 # 安裝 .NET 8 ASP.NET Core Runtime

B. 安裝 .NET Runtime (標準版)

sudo apt install -y dotnet-runtime-8.0 # 安裝 .NET 8 Runtime

4. 其他安裝方法

A. 手動安裝

你可以從 .NET 官方網站下載二進制發行版並手動解壓縮到你喜歡的位置。

  1. 下載:從 dotnet.microsoft.com/download 下載 Linux x64 二進制文件。
  2. 解壓縮:將下載的文件解壓縮到一個目錄,例如 ~/dotnet
  3. 設置環境變量:將 ~/dotnet 添加到 PATH
    export DOTNET_ROOT=$HOME/dotnet
    export PATH=$PATH:$HOME/dotnet
    將這些行添加到 ~/.bashrc~/.zshrc 以便永久生效。

B. 使用 Snap (不推薦,可能不是最新版)

對於某些 Ubuntu 版本,你可以使用 Snap 安裝 .NET,但通常不推薦,因為 Snap 提供的版本可能不是最新的,或者與 apt 儲存庫的版本存在兼容性問題。

sudo snap install dotnet-sdk --classic --channel=8.0/stable # 安裝 .NET 8 SDK

5. 總結

在 Ubuntu 上安裝 .NET 最推薦的方法是通過 Microsoft 的 apt 套件儲存庫。這確保了你可以方便地獲取最新更新和安全補丁。無論你是開發者還是應用程式用戶,正確安裝 .NET 都能讓你充分利用這個強大的平台。

如何安裝 Docker

· 3 分鐘閱讀

這篇備忘錄記錄了如何在 Linux(Ubuntu/Debian)上安裝 Docker。

資訊

Docker 是一個開源平台,用於開發、交付和運行應用程式。它允許你將應用程式及其所有依賴項打包到一個稱為容器的標準化單元中,該容器可以在任何地方運行。

1. 卸載舊版本 (如果存在)

如果你之前安裝過舊版本的 Docker,建議先將其卸載,以避免潛在的衝突。

sudo apt-get remove docker docker-engine docker.io containerd runc

2. 更新套件索引並安裝必要工具

更新 apt 套件索引,並安裝一些允許 apt 通過 HTTPS 使用儲存庫的必要工具:

sudo apt-get update
sudo apt-get install
ca-certificates
curl
gnupg
lsb-release

3. 添加 Docker 的官方 GPG 密鑰

為了驗證 Docker 套件的真實性,你需要添加 Docker 的官方 GPG 密鑰:

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

4. 設置儲存庫

添加 Docker 儲存庫到你的 apt 源列表:

echo 
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
資訊

$(lsb_release -cs) 會輸出你的 Ubuntu 代號,例如 focal (20.04) 或 jammy (22.04)。

5. 安裝 Docker Engine

再次更新 apt 套件索引,然後安裝 Docker Engine、Containerd 和 Docker Compose。

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

6. 驗證 Docker 安裝

通過運行 hello-world 影像來驗證 Docker Engine 是否正確安裝:

sudo docker run hello-world

如果一切正常,你會看到一條消息,表明 Docker 安裝成功。

7. 管理 Docker 作為非 root 用戶 (可選但推薦)

默認情況下,docker 命令需要 sudo 權限。如果你想作為非 root 用戶運行 Docker 命令,你需要將你的用戶添加到 docker 群組。

  1. 創建 docker 群組 (如果不存在):
    sudo groupadd docker
  2. 將當前用戶添加到 docker 群組
    sudo usermod -aG docker $USER
  3. 重新登錄: 為了使群組更改生效,你需要註銷並重新登錄,或者重啟你的系統。 或者,你可以運行 newgrp docker 命令,但這只會影響當前會話。

完成後,你可以無需 sudo 即可運行 Docker 命令:

docker run hello-world

8. 配置 Docker 在啟動時自動運行 (可選)

Docker 通常會自動配置為在系統啟動時運行。你可以檢查其狀態:

sudo systemctl status docker

如果它沒有在啟動時啟用,你可以手動啟用:

sudo systemctl enable docker.service
sudo systemctl enable containerd.service

總結

通過上述步驟,你可以在 Ubuntu/Debian 系統上成功安裝 Docker Engine 和相關工具。這將使你能夠開始使用容器來打包、部署和運行你的應用程式。記住將你的用戶添加到 docker 群組以獲得更方便的體驗。

從安裝腳本中得到錯誤的結果

· 3 分鐘閱讀

這篇備忘錄記錄了當我從安裝腳本中得到錯誤結果時的解決方法。


問題描述

有時,當我運行某些安裝腳本(例如來自 GitHub 的自動安裝腳本或官方提供的 install.sh)時,會遇到以下錯誤信息:

Got bad result from install script

這個錯誤通常表示腳本執行不成功,或者沒有返回預期的成功代碼。這可能是由於多種原因造成的,例如:

  • 網絡問題:下載資源失敗。
  • 權限問題:腳本沒有足夠的權限執行某些操作。
  • 依賴缺失:系統中缺少腳本所需的工具或庫。
  • 環境不兼容:腳本是為不同環境設計的,或者當前環境變量不正確。
  • 腳本本身的問題:腳本有 bug。

解決方案

1. 檢查網絡連接

確保你的設備連接到互聯網,並且沒有任何防火牆或代理設置阻止腳本訪問外部資源。

ping google.com

2. 檢查權限

確保你以正確的權限運行腳本。對於需要系統級更改的腳本,通常需要使用 sudo

sudo bash install.sh

3. 安裝缺失的依賴

仔細閱讀腳本的輸出,查找是否有關於缺少命令或庫的錯誤信息。通常,腳本作者會在 README 中列出先決條件。

常見的依賴包管理器命令:

  • Ubuntu/Debian:sudo apt install <package_name>
  • CentOS/Fedora:sudo yum install <package_name>sudo dnf install <package_name>
  • macOS (Homebrew):brew install <package_name>

4. 檢查環境變量

某些腳本依賴特定的環境變量。確保你的 PATH 設置正確,並且所有必要的環境變量都已導出。

你可以使用 env 命令查看當前的環境變量。

5. 逐行執行腳本 (調試)

如果上述方法都無效,你可以嘗試逐行執行腳本,以找出問題的確切位置。

  1. 打開腳本
    vim install.sh
  2. 在腳本開頭添加 set -x: 這會讓 Shell 打印出每個執行的命令,幫助你追蹤問題。
    #!/bin/bash
    set -x
    # ... 腳本其餘內容
  3. 運行腳本:觀察輸出,當腳本失敗時,最後一個打印的命令通常是導致問題的原因。

6. 查閱腳本的 GitHub 頁面或文檔

如果腳本來自開源項目,請訪問其 GitHub 儲存庫。查看 Issues 頁面,看看是否有其他人遇到過相同的問題,或者在 Wiki/文檔中查找是否有特定的故障排除指南。

7. 嘗試不同的安裝方式

如果腳本提供的安裝方式失敗,看看項目是否提供了替代的安裝方式,例如:

  • 手動編譯
  • Docker 容器
  • 包管理器安裝(如 apt, yum, brew, npm, pip 等)

總結

遇到 "Got bad result from install script" 錯誤時,不要慌張。系統地檢查網絡、權限、依賴和環境變量,並利用調試工具,通常可以找到問題的根源並解決它。