简体中文 繁體中文 English 日本語 Deutsch 한국 사람 بالعربية TÜRKÇE português คนไทย Français

站内搜索

搜索

活动公告

11-02 12:46
10-23 09:32
通知:本站资源由网友上传分享,如有违规等问题请到版务模块进行投诉,将及时处理!
10-23 09:31
10-23 09:28
通知:签到时间调整为每日4:00(东八区)
10-23 09:26

从零开始构建Pop OS开发环境完整教程涵盖编程语言安装IDE配置版本控制及容器技术助您打造高效编程工作流

3万

主题

423

科技点

3万

积分

大区版主

木柜子打湿

积分
31916

三倍冰淇淋无人之境【一阶】财Doro小樱(小丑装)立华奏以外的星空【二阶】⑨的冰沙

发表于 2025-10-6 10:50:00 | 显示全部楼层 |阅读模式 [标记阅至此楼]

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
1. 引言:Pop OS与开发环境概述

Pop!_OS 是由 System76 开发的一款基于 Ubuntu 的 Linux 发行版,专为开发人员和创作者设计。它提供了一个干净、直观的用户界面,同时保留了强大的功能,使其成为开发工作的理想选择。本教程将指导您从零开始在 Pop!_OS 上构建一个完整的开发环境,涵盖多种编程语言的安装、IDE 配置、版本控制系统以及容器技术,帮助您打造一个高效的编程工作流。

2. 系统准备与基础配置

2.1 系统更新

在开始安装任何开发工具之前,首先确保您的 Pop!_OS 系统是最新的。打开终端(快捷键:Ctrl + Alt + T),执行以下命令:
  1. sudo apt update
  2. sudo apt upgrade -y
复制代码

2.2 安装基础开发工具

安装一些基础的开发工具和库,这些工具在后续的安装过程中可能会用到:
  1. sudo apt install -y build-essential curl wget git software-properties-common apt-transport-https ca-certificates gnupg-agent
复制代码

2.3 配置系统源

为了获取最新的软件包,我们可以添加一些额外的源。例如,添加 Ubuntu 的 Universe 和 Multiverse 源:
  1. sudo add-apt-repository universe
  2. sudo add-apt-repository multiverse
  3. sudo apt update
复制代码

3. 编程语言安装与配置

3.1 Python 开发环境

Python 是一种广泛使用的高级编程语言,适用于各种应用场景。

Pop!_OS 通常预装了 Python 3,但我们可以安装最新版本并配置开发环境:
  1. # 安装 Python 3 和 pip
  2. sudo apt install -y python3 python3-pip python3-venv
  3. # 验证安装
  4. python3 --version
  5. pip3 --version
复制代码

使用 Python 虚拟环境可以隔离不同项目的依赖:
  1. # 创建项目目录
  2. mkdir ~/python-projects
  3. cd ~/python-projects
  4. # 创建虚拟环境
  5. python3 -m venv my-project-env
  6. # 激活虚拟环境
  7. source my-project-env/bin/activate
  8. # 在虚拟环境中安装包
  9. pip install numpy pandas matplotlib
  10. # 退出虚拟环境
  11. deactivate
复制代码

pyenv 是一个优秀的 Python 版本管理工具:
  1. # 安装依赖
  2. sudo apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
  3. # 安装 pyenv
  4. curl https://pyenv.run | bash
  5. # 配置环境变量
  6. echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
  7. echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
  8. echo 'eval "$(pyenv init -)"' >> ~/.bashrc
  9. # 重启 shell
  10. exec "$SHELL"
  11. # 安装特定版本的 Python
  12. pyenv install 3.10.6
  13. pyenv global 3.10.6
  14. # 验证安装
  15. python --version
复制代码

3.2 Java 开发环境

Java 是一种广泛使用的面向对象编程语言,特别适合企业级应用开发。

我们可以安装不同版本的 OpenJDK:
  1. # 安装 OpenJDK 11
  2. sudo apt install -y openjdk-11-jdk
  3. # 或者安装 OpenJDK 17(最新 LTS 版本)
  4. sudo apt install -y openjdk-17-jdk
  5. # 验证安装
  6. java -version
  7. javac -version
复制代码

SDKMAN! 是一个用于管理多个软件开发工具包的命令行工具:
  1. # 安装 SDKMAN!
  2. curl -s "https://get.sdkman.io" | bash
  3. source "$HOME/.sdkman/bin/sdkman-init.sh"
  4. # 列出可用的 Java 版本
  5. sdk list java
  6. # 安装特定版本的 Java
  7. sdk install java 11.0.16-open
  8. sdk install java 17.0.4-open
  9. # 切换 Java 版本
  10. sdk use java 17.0.4-open
  11. # 验证安装
  12. java -version
复制代码

编辑~/.bashrc或~/.profile文件,添加以下内容:
  1. # 设置 JAVA_HOME
  2. export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
  3. export PATH=$JAVA_HOME/bin:$PATH
复制代码

然后执行source ~/.bashrc使配置生效。

3.3 JavaScript/Node.js 开发环境

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时,使 JavaScript 可以在服务器端运行。
  1. # 添加 NodeSource 仓库
  2. curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
  3. # 安装 Node.js
  4. sudo apt install -y nodejs
  5. # 验证安装
  6. node --version
  7. npm --version
复制代码

NVM (Node Version Manager) 是一个用于管理多个 Node.js 版本的工具:
  1. # 安装 NVM
  2. curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
  3. # 配置环境变量
  4. export NVM_DIR="$HOME/.nvm"
  5. [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
  6. [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
  7. # 重启 shell
  8. exec "$SHELL"
  9. # 安装特定版本的 Node.js
  10. nvm install 18
  11. nvm use 18
  12. # 验证安装
  13. node --version
  14. npm --version
复制代码

设置 NPM 使用国内镜像以提高下载速度:
  1. npm config set registry https://registry.npmmirror.com
复制代码

3.4 C/C++ 开发环境

C 和 C++ 是系统编程和高性能应用开发的重要语言。
  1. # 安装 GCC 和 G++
  2. sudo apt install -y gcc g++
  3. # 验证安装
  4. gcc --version
  5. g++ --version
复制代码

Clang 是一个 C、C++ 和 Objective-C 编译器,提供更快的编译速度和更好的错误信息:
  1. # 安装 Clang
  2. sudo apt install -y clang
  3. # 验证安装
  4. clang --version
复制代码

CMake 是一个跨平台的构建系统生成器:
  1. # 安装 CMake
  2. sudo apt install -y cmake
  3. # 验证安装
  4. cmake --version
复制代码

创建一个简单的 C++ 程序:
  1. // hello.cpp
  2. #include <iostream>
  3. int main() {
  4.     std::cout << "Hello, World!" << std::endl;
  5.     return 0;
  6. }
复制代码

使用 G++ 编译并运行:
  1. g++ -o hello hello.cpp
  2. ./hello
复制代码

使用 CMake 构建:

创建CMakeLists.txt文件:
  1. cmake_minimum_required(VERSION 3.10)
  2. project(HelloWorld)
  3. add_executable(hello hello.cpp)
复制代码

然后执行:
  1. mkdir build
  2. cd build
  3. cmake ..
  4. make
  5. ./hello
复制代码

3.5 Go 开发环境

Go 是一种静态类型、编译型的编程语言,由 Google 设计,特别适合构建高性能的网络服务。
  1. # 下载 Go 安装包
  2. wget https://golang.org/dl/go1.19.linux-amd64.tar.gz
  3. # 解压到 /usr/local
  4. sudo tar -C /usr/local -xzf go1.19.linux-amd64.tar.gz
  5. # 配置环境变量
  6. echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
  7. echo 'export GOPATH=$HOME/go' >> ~/.bashrc
  8. echo 'export PATH=$PATH:$GOPATH/bin' >> ~/.bashrc
  9. # 使配置生效
  10. source ~/.bashrc
  11. # 验证安装
  12. go version
复制代码
  1. # 创建 Go 工作区目录
  2. mkdir -p ~/go/{src,bin,pkg}
  3. # 创建一个简单的 Go 程序
  4. mkdir -p ~/go/src/hello
  5. cd ~/go/src/hello
  6. # 创建 hello.go 文件
  7. cat > hello.go << EOF
  8. package main
  9. import "fmt"
  10. func main() {
  11.     fmt.Println("Hello, World!")
  12. }
  13. EOF
  14. # 运行程序
  15. go run hello.go
  16. # 构建并安装程序
  17. go install hello
  18. # 运行已安装的程序
  19. ~/go/bin/hello
复制代码

3.6 Rust 开发环境

Rust 是一种系统编程语言,注重安全、速度和并发性。
  1. # 安装 Rust
  2. curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
  3. # 配置环境变量
  4. source ~/.cargo/env
  5. # 验证安装
  6. rustc --version
  7. cargo --version
复制代码
  1. # 创建一个新的 Rust 项目
  2. cargo new hello_rust
  3. cd hello_rust
  4. # 构建并运行项目
  5. cargo run
复制代码

4. IDE 配置

4.1 Visual Studio Code

Visual Studio Code 是一款轻量级但功能强大的源代码编辑器,支持多种编程语言。
  1. # 下载并安装 VS Code
  2. wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
  3. sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/
  4. sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
  5. sudo apt update
  6. sudo apt install -y code
  7. # 或者使用 Snap 安装
  8. sudo snap install --classic code
复制代码

启动 VS Code:
  1. code
复制代码

安装一些有用的扩展:

• Python (Microsoft)
• Java Extension Pack (Microsoft)
• JavaScript and TypeScript Nightly (Microsoft)
• C/C++ (Microsoft)
• Go Team at Google Google
• rust-lang.rust-analyzer
• Docker (Microsoft)
• GitLens (GitKraken)

打开 VS Code 设置 (Ctrl + ,),可以根据个人喜好进行配置。以下是一些推荐的设置:
  1. {
  2.     "editor.fontFamily": "'Fira Code', 'Droid Sans Mono', 'monospace', monospace",
  3.     "editor.fontLigatures": true,
  4.     "editor.fontSize": 14,
  5.     "editor.tabSize": 4,
  6.     "editor.insertSpaces": true,
  7.     "editor.renderWhitespace": "boundary",
  8.     "files.autoSave": "afterDelay",
  9.     "git.enableSmartCommit": true,
  10.     "terminal.integrated.fontFamily": "'Fira Code', 'Droid Sans Mono', 'monospace', monospace",
  11.     "workbench.colorTheme": "Solarized Dark",
  12.     "workbench.iconTheme": "vs-seti"
  13. }
复制代码

4.2 IntelliJ IDEA

IntelliJ IDEA 是一款专业的 Java IDE,也支持多种其他编程语言。
  1. # 下载 IntelliJ IDEA Community Edition
  2. wget -O ideaIC.tar.gz https://download.jetbrains.com/idea/ideaIC-2022.2.2.tar.gz
  3. # 解压
  4. tar -xzf ideaIC.tar.gz
  5. # 移动到 /opt 目录
  6. sudo mv idea-IC-* /opt/idea
  7. # 创建桌面快捷方式
  8. cat > ~/.local/share/applications/intellij-idea.desktop << EOF
  9. [Desktop Entry]
  10. Version=1.0
  11. Type=Application
  12. Name=IntelliJ IDEA Community Edition
  13. Icon=/opt/idea/bin/idea.png
  14. Exec="/opt/idea/bin/idea.sh" %f
  15. Comment=Capable and Ergonomic IDE for JVM
  16. Categories=Development;IDE;
  17. Terminal=false
  18. StartupWMClass=jetbrains-idea-ce
  19. EOF
  20. # 使快捷方式可执行
  21. chmod +x ~/.local/share/applications/intellij-idea.desktop
复制代码

启动 IntelliJ IDEA:
  1. /opt/idea/bin/idea.sh
复制代码

在首次启动时,可以进行以下配置:

• 导入设置(如果有)
• 选择主题
• 配置插件(如 Python, Go, Rust 等)

4.3 PyCharm

PyCharm 是一款专业的 Python IDE,提供智能代码补全、代码检查等功能。
  1. # 使用 Snap 安装 PyCharm Community Edition
  2. sudo snap install pycharm-community --classic
  3. # 或者下载并手动安装
  4. wget -O pycharm.tar.gz https://download.jetbrains.com/python/pycharm-community-2022.2.2.tar.gz
  5. tar -xzf pycharm.tar.gz
  6. sudo mv pycharm-* /opt/pycharm
  7. # 创建桌面快捷方式
  8. cat > ~/.local/share/applications/pycharm.desktop << EOF
  9. [Desktop Entry]
  10. Version=1.0
  11. Type=Application
  12. Name=PyCharm Community Edition
  13. Icon=/opt/pycharm/bin/pycharm.png
  14. Exec="/opt/pycharm/bin/pycharm.sh" %f
  15. Comment=Python IDE for Professional Developers
  16. Categories=Development;IDE;
  17. Terminal=false
  18. StartupWMClass=jetbrains-pycharm-ce
  19. EOF
  20. chmod +x ~/.local/share/applications/pycharm.desktop
复制代码

启动 PyCharm:
  1. /opt/pycharm/bin/pycharm.sh
复制代码

在首次启动时,可以进行以下配置:

• 导入设置(如果有)
• 选择主题
• 配置 Python 解释器
• 安装有用的插件(如 Docker, Git 等)

5. 版本控制

5.1 Git 安装与配置

Git 是一个分布式版本控制系统,是现代软件开发不可或缺的工具。
  1. # 安装 Git
  2. sudo apt install -y git
  3. # 验证安装
  4. git --version
复制代码
  1. # 设置用户名和邮箱
  2. git config --global user.name "Your Name"
  3. git config --global user.email "your.email@example.com"
  4. # 设置默认分支名称
  5. git config --global init.defaultBranch main
  6. # 设置默认编辑器
  7. git config --global core.editor "code --wait"
  8. # 设置凭证存储
  9. git config --global credential.helper store
  10. # 验证配置
  11. git config --list
复制代码
  1. # 生成 SSH 密钥
  2. ssh-keygen -t ed25519 -C "your.email@example.com"
  3. # 启动 ssh-agent
  4. eval "$(ssh-agent -s)"
  5. # 添加 SSH 密钥到 ssh-agent
  6. ssh-add ~/.ssh/id_ed25519
  7. # 显示公钥,将其添加到 GitHub 等代码托管平台
  8. cat ~/.ssh/id_ed25519.pub
复制代码
  1. # 创建新仓库
  2. mkdir my-project
  3. cd my-project
  4. git init
  5. # 添加远程仓库
  6. git remote add origin git@github.com:username/my-project.git
  7. # 创建并切换到新分支
  8. git checkout -b feature-branch
  9. # 添加文件到暂存区
  10. git add .
  11. # 提交更改
  12. git commit -m "Initial commit"
  13. # 推送到远程仓库
  14. git push -u origin feature-branch
  15. # 合并分支
  16. git checkout main
  17. git merge feature-branch
  18. # 删除分支
  19. git branch -d feature-branch
复制代码

5.2 GitHub CLI

GitHub CLI 是一个用于与 GitHub 交互的命令行工具。
  1. # 下载并安装 GitHub CLI
  2. curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
  3. echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
  4. sudo apt update
  5. sudo apt install -y gh
  6. # 验证安装
  7. gh --version
复制代码
  1. # 登录 GitHub
  2. gh auth login
  3. # 验证登录状态
  4. gh auth status
复制代码
  1. # 创建新仓库
  2. gh repo create my-new-repo --public --clone
  3. # 创建问题
  4. gh issue create --title "Bug report" --body "Description of the bug"
  5. # 创建拉取请求
  6. gh pr create --title "New feature" --body "Description of the new feature"
  7. # 查看拉取请求
  8. gh pr view
  9. # 查看问题
  10. gh issue view
复制代码

6. 容器技术

6.1 Docker 安装与配置

Docker 是一个开源的容器化平台,可以将应用程序及其依赖打包到一个可移植的容器中。
  1. # 卸载旧版本
  2. sudo apt remove docker docker-engine docker.io containerd runc
  3. # 安装依赖
  4. sudo apt install -y ca-certificates curl gnupg lsb-release
  5. # 添加 Docker 官方 GPG 密钥
  6. sudo mkdir -p /etc/apt/keyrings
  7. curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
  8. # 设置 Docker 仓库
  9. 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
  10. # 安装 Docker
  11. sudo apt update
  12. sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
  13. # 验证安装
  14. sudo docker run hello-world
复制代码
  1. # 创建 docker 用户组
  2. sudo groupadd docker
  3. # 将当前用户添加到 docker 组
  4. sudo usermod -aG docker $USER
  5. # 重新登录以使更改生效
  6. newgrp docker
  7. # 验证配置(无需 sudo)
  8. docker run hello-world
复制代码
  1. # 搜索镜像
  2. docker search ubuntu
  3. # 拉取镜像
  4. docker pull ubuntu:22.04
  5. # 运行容器
  6. docker run -it --name my-ubuntu ubuntu:22.04 /bin/bash
  7. # 列出正在运行的容器
  8. docker ps
  9. # 列出所有容器
  10. docker ps -a
  11. # 启动已停止的容器
  12. docker start my-ubuntu
  13. # 停止容器
  14. docker stop my-ubuntu
  15. # 删除容器
  16. docker rm my-ubuntu
  17. # 删除镜像
  18. docker rmi ubuntu:22.04
复制代码

创建一个简单的 Node.js 应用的 Dockerfile:
  1. # 使用官方 Node.js 18 镜像作为基础镜像
  2. FROM node:18
  3. # 设置工作目录
  4. WORKDIR /app
  5. # 复制 package.json 和 package-lock.json
  6. COPY package*.json ./
  7. # 安装依赖
  8. RUN npm install
  9. # 复制应用代码
  10. COPY . .
  11. # 暴露端口
  12. EXPOSE 3000
  13. # 定义启动命令
  14. CMD ["node", "app.js"]
复制代码

构建并运行容器:
  1. # 构建镜像
  2. docker build -t my-node-app .
  3. # 运行容器
  4. docker run -p 3000:3000 --name my-running-app my-node-app
复制代码

6.2 Docker Compose

Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。
  1. # 下载 Docker Compose
  2. sudo curl -L "https://github.com/docker/compose/releases/download/v2.10.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  3. # 添加执行权限
  4. sudo chmod +x /usr/local/bin/docker-compose
  5. # 创建软链接
  6. sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
  7. # 验证安装
  8. docker-compose --version
复制代码

创建一个docker-compose.yml文件:
  1. version: '3.8'
  2. services:
  3.   web:
  4.     build: .
  5.     ports:
  6.       - "3000:3000"
  7.     depends_on:
  8.       - db
  9.     environment:
  10.       - DATABASE_URL=postgres://user:password@db:5432/mydb
  11.     volumes:
  12.       - .:/app
  13.       - /app/node_modules
  14.   db:
  15.     image: postgres:14
  16.     environment:
  17.       - POSTGRES_USER=user
  18.       - POSTGRES_PASSWORD=password
  19.       - POSTGRES_DB=mydb
  20.     volumes:
  21.       - postgres-data:/var/lib/postgresql/data
  22. volumes:
  23.   postgres-data:
复制代码

使用 Docker Compose:
  1. # 启动服务
  2. docker-compose up -d
  3. # 查看服务状态
  4. docker-compose ps
  5. # 查看日志
  6. docker-compose logs -f web
  7. # 停止服务
  8. docker-compose down
  9. # 停止服务并删除卷
  10. docker-compose down -v
复制代码

7. 整合工具打造高效编程工作流

7.1 使用 VS Code 进行开发

VS Code 是一个轻量级但功能强大的编辑器,可以通过插件和配置适应各种开发需求。

创建一个.vscode目录,并在其中添加以下文件:

settings.json:
  1. {
  2.     "editor.formatOnSave": true,
  3.     "python.linting.enabled": true,
  4.     "python.linting.pylintEnabled": true,
  5.     "python.formatting.provider": "black",
  6.     "editor.codeActionsOnSave": {
  7.         "source.organizeImports": true
  8.     },
  9.     "files.associations": {
  10.         "*.html": "html",
  11.         "*.js": "javascript",
  12.         "*.ts": "typescript"
  13.     },
  14.     "terminal.integrated.shell.linux": "/bin/bash"
  15. }
复制代码

tasks.json:
  1. {
  2.     "version": "2.0.0",
  3.     "tasks": [
  4.         {
  5.             "label": "build",
  6.             "type": "shell",
  7.             "command": "make",
  8.             "group": {
  9.                 "kind": "build",
  10.                 "isDefault": true
  11.             },
  12.             "presentation": {
  13.                 "reveal": "always",
  14.                 "panel": "new"
  15.             },
  16.             "problemMatcher": []
  17.         },
  18.         {
  19.             "label": "test",
  20.             "type": "shell",
  21.             "command": "make test",
  22.             "group": {
  23.                 "kind": "test",
  24.                 "isDefault": true
  25.             },
  26.             "presentation": {
  27.                 "reveal": "always",
  28.                 "panel": "new"
  29.             },
  30.             "problemMatcher": []
  31.         }
  32.     ]
  33. }
复制代码

launch.json:
  1. {
  2.     "version": "0.2.0",
  3.     "configurations": [
  4.         {
  5.             "name": "Python: Current File",
  6.             "type": "python",
  7.             "request": "launch",
  8.             "program": "${file}",
  9.             "console": "integratedTerminal",
  10.             "justMyCode": true
  11.         },
  12.         {
  13.             "name": "Launch Chrome against localhost",
  14.             "type": "chrome",
  15.             "request": "launch",
  16.             "url": "http://localhost:3000",
  17.             "webRoot": "${workspaceFolder}"
  18.         }
  19.     ]
  20. }
复制代码

VS Code 内置了 Git 支持,可以通过以下方式使用:

• 查看更改:点击左侧活动栏的源代码管理图标
• 提交更改:在消息框中输入提交消息,然后点击勾选图标
• 推送更改:点击菜单栏的视图 > 命令面板,然后输入 “Git: Push”
• 拉取更改:点击菜单栏的视图 > 命令面板,然后输入 “Git: Pull”

安装 Docker 扩展后,可以在 VS Code 中直接管理 Docker 容器和镜像:

• 查看容器:点击左侧活动栏的 Docker 图标
• 构建镜像:右键点击 Dockerfile,选择 “Build Image”
• 运行容器:右键点击镜像,选择 “Run”
• 查看容器日志:右键点击运行的容器,选择 “View Logs”

7.2 使用 Makefile 自动化构建

Makefile 是一个用于自动化构建过程的工具,可以简化编译、测试和部署等任务。

创建一个名为Makefile的文件:
  1. # 变量定义
  2. CC = gcc
  3. CFLAGS = -Wall -Wextra -std=c99
  4. TARGET = myprogram
  5. SRC = $(wildcard *.c)
  6. OBJ = $(SRC:.c=.o)
  7. # 默认目标
  8. all: $(TARGET)
  9. # 链接目标文件
  10. $(TARGET): $(OBJ)
  11.         $(CC) $(CFLAGS) -o $@ $^
  12. # 编译源文件
  13. %.o: %.c
  14.         $(CC) $(CFLAGS) -c $< -o $@
  15. # 运行程序
  16. run: $(TARGET)
  17.         ./$(TARGET)
  18. # 清理生成的文件
  19. clean:
  20.         rm -f $(OBJ) $(TARGET)
  21. # 安装程序
  22. install: $(TARGET)
  23.         cp $(TARGET) /usr/local/bin/
  24. # 卸载程序
  25. uninstall:
  26.         rm -f /usr/local/bin/$(TARGET)
  27. # 测试程序
  28. test: $(TARGET)
  29.         ./$(TARGET) --test
  30. # 生成文档
  31. doc:
  32.         doxygen Doxyfile
  33. .PHONY: all run clean install uninstall test doc
复制代码
  1. # 构建程序
  2. make
  3. # 运行程序
  4. make run
  5. # 清理生成的文件
  6. make clean
  7. # 安装程序
  8. sudo make install
  9. # 运行测试
  10. make test
  11. # 生成文档
  12. make doc
复制代码

7.3 使用 Shell 脚本自动化任务

Shell 脚本是自动化任务的强大工具,可以用于设置开发环境、部署应用等。

创建一个名为setup.sh的脚本:
  1. #!/bin/bash
  2. # 设置开发环境的脚本
  3. # 更新系统
  4. echo "Updating system..."
  5. sudo apt update && sudo apt upgrade -y
  6. # 安装基础工具
  7. echo "Installing basic tools..."
  8. sudo apt install -y build-essential curl wget git
  9. # 安装 Python
  10. echo "Installing Python..."
  11. sudo apt install -y python3 python3-pip python3-venv
  12. # 安装 Node.js
  13. echo "Installing Node.js..."
  14. curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
  15. sudo apt install -y nodejs
  16. # 安装 Docker
  17. echo "Installing Docker..."
  18. curl -fsSL https://get.docker.com -o get-docker.sh
  19. sudo sh get-docker.sh
  20. sudo usermod -aG docker $USER
  21. # 安装 VS Code
  22. echo "Installing VS Code..."
  23. wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
  24. sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/
  25. sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
  26. sudo apt update
  27. sudo apt install -y code
  28. # 清理
  29. echo "Cleaning up..."
  30. rm get-docker.sh packages.microsoft.gpg
  31. echo "Setup complete! Please log out and log back in to apply all changes."
复制代码

创建一个名为deploy.sh的脚本:
  1. #!/bin/bash
  2. # 部署应用的脚本
  3. # 变量定义
  4. APP_NAME="my-app"
  5. IMAGE_NAME="$APP_NAME:latest"
  6. CONTAINER_NAME="$APP_NAME-container"
  7. # 构建镜像
  8. echo "Building Docker image..."
  9. docker build -t $IMAGE_NAME .
  10. # 停止并删除旧容器
  11. echo "Stopping and removing old container..."
  12. docker stop $CONTAINER_NAME 2>/dev/null || true
  13. docker rm $CONTAINER_NAME 2>/dev/null || true
  14. # 运行新容器
  15. echo "Starting new container..."
  16. docker run -d --name $CONTAINER_NAME -p 3000:3000 $IMAGE_NAME
  17. # 检查容器状态
  18. echo "Checking container status..."
  19. docker ps -f name=$CONTAINER_NAME
  20. echo "Deployment complete!"
复制代码
  1. # 使脚本可执行
  2. chmod +x setup.sh deploy.sh
  3. # 运行设置脚本
  4. ./setup.sh
  5. # 运行部署脚本
  6. ./deploy.sh
复制代码

7.4 使用 Dev Containers 进行开发

Dev Containers (开发容器) 是一种使用容器作为完整开发环境的方法,可以确保所有团队成员使用相同的环境。

在项目根目录创建.devcontainer目录,并添加以下文件:

devcontainer.json:
  1. {
  2.     "name": "My Project",
  3.     "dockerFile": "Dockerfile",
  4.     "settings": {
  5.         "terminal.integrated.shell.linux": "/bin/bash",
  6.         "python.pythonPath": "/usr/local/bin/python",
  7.         "python.linting.pylintEnabled": true,
  8.         "python.linting.enabled": true,
  9.         "python.formatting.provider": "black",
  10.         "editor.formatOnSave": true
  11.     },
  12.     "extensions": [
  13.         "ms-python.python",
  14.         "ms-azuretools.vscode-docker",
  15.         "ms-vscode.vscode-typescript-next"
  16.     ],
  17.     "forwardPorts": [3000, 5432],
  18.     "postCreateCommand": "pip install -r requirements.txt"
  19. }
复制代码

Dockerfile:
  1. # 使用基础镜像
  2. FROM mcr.microsoft.com/vscode/devcontainers/python:0-3.10
  3. # 安装 Node.js
  4. RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash - && \
  5.     apt-get install -y nodejs
  6. # 安装其他依赖
  7. RUN apt-get update && apt-get install -y \
  8.     postgresql-client \
  9.     && rm -rf /var/lib/apt/lists/*
  10. # 设置工作目录
  11. WORKDIR /workspace
  12. # 复制 requirements.txt
  13. COPY requirements.txt .
  14. # 安装 Python 依赖
  15. RUN pip install --no-cache-dir -r requirements.txt
复制代码

1. 在 VS Code 中安装 “Remote - Containers” 扩展
2. 按F1打开命令面板
3. 选择 “Remote-Containers: Reopen in Container”
4. VS Code 将构建容器并在其中重新打开项目

7.5 使用 GitHub Actions 进行 CI/CD

GitHub Actions 是一个 CI/CD (持续集成/持续部署) 平台,可以自动构建、测试和部署代码。

在项目根目录创建.github/workflows目录,并添加以下文件:

ci.yml:
  1. name: CI
  2. on:
  3.   push:
  4.     branches: [ main ]
  5.   pull_request:
  6.     branches: [ main ]
  7. jobs:
  8.   test:
  9.     runs-on: ubuntu-latest
  10.    
  11.     strategy:
  12.       matrix:
  13.         node-version: [16.x, 18.x]
  14.         python-version: [3.9, '3.10']
  15.    
  16.     steps:
  17.     - uses: actions/checkout@v3
  18.    
  19.     - name: Set up Node.js ${{ matrix.node-version }}
  20.       uses: actions/setup-node@v3
  21.       with:
  22.         node-version: ${{ matrix.node-version }}
  23.         cache: 'npm'
  24.    
  25.     - name: Set up Python ${{ matrix.python-version }}
  26.       uses: actions/setup-python@v4
  27.       with:
  28.         python-version: ${{ matrix.python-version }}
  29.    
  30.     - name: Install dependencies
  31.       run: |
  32.         npm ci
  33.         python -m pip install --upgrade pip
  34.         pip install -r requirements.txt
  35.         pip install pytest
  36.    
  37.     - name: Run tests
  38.       run: |
  39.         npm test
  40.         pytest
复制代码

deploy.yml:
  1. name: Deploy
  2. on:
  3.   push:
  4.     branches: [ main ]
  5. jobs:
  6.   build-and-deploy:
  7.     runs-on: ubuntu-latest
  8.    
  9.     steps:
  10.     - uses: actions/checkout@v3
  11.    
  12.     - name: Set up Docker Buildx
  13.       uses: docker/setup-buildx-action@v2
  14.    
  15.     - name: Login to DockerHub
  16.       uses: docker/login-action@v2
  17.       with:
  18.         username: ${{ secrets.DOCKERHUB_USERNAME }}
  19.         password: ${{ secrets.DOCKERHUB_TOKEN }}
  20.    
  21.     - name: Build and push
  22.       uses: docker/build-push-action@v4
  23.       with:
  24.         context: .
  25.         push: true
  26.         tags: user/my-app:latest
  27.    
  28.     - name: Deploy to production
  29.       uses: appleboy/ssh-action@master
  30.       with:
  31.         host: ${{ secrets.PRODUCTION_HOST }}
  32.         username: ${{ secrets.PRODUCTION_USER }}
  33.         key: ${{ secrets.PRODUCTION_SSH_KEY }}
  34.         script: |
  35.           cd /opt/my-app
  36.           docker-compose pull
  37.           docker-compose up -d
复制代码

在 GitHub 仓库中,转到 Settings > Secrets and variables > Actions,添加以下 secrets:

• DOCKERHUB_USERNAME: Docker Hub 用户名
• DOCKERHUB_TOKEN: Docker Hub 访问令牌
• PRODUCTION_HOST: 生产服务器主机名
• PRODUCTION_USER: 生产服务器用户名
• PRODUCTION_SSH_KEY: 生产服务器 SSH 私钥

8. 总结与最佳实践

8.1 开发环境维护

维护一个健康、高效的开发环境需要遵循一些最佳实践:

1. 定期更新系统:定期运行sudo apt update && sudo apt upgrade保持系统最新。
2. 清理不需要的软件包:定期运行sudo apt autoremove清理不需要的依赖包。
3. 备份配置文件:将重要的配置文件(如.bashrc,.vimrc等)备份到版本控制系统。
4. 使用版本控制:使用 Git 管理所有项目,包括配置文件和脚本。
5. 文档化环境设置:记录环境设置过程,以便在新机器上快速重现。

8.2 安全最佳实践

在设置和使用开发环境时,请遵循以下安全最佳实践:

1. 使用强密码和 SSH 密钥:避免使用弱密码,使用 SSH 密钥进行身份验证。
2. 定期更新软件:保持所有软件(包括操作系统、开发工具和依赖项)最新。
3. 限制权限:使用最小权限原则,只在必要时使用 sudo。
4. 保护敏感信息:不要将密码、API 密钥等敏感信息硬编码到代码中,使用环境变量或 secrets 管理工具。
5. 使用防火墙:配置防火墙限制不必要的入站和出站连接。

8.3 性能优化

优化开发环境的性能可以提高工作效率:

1. 使用 SSD:如果可能,使用固态硬盘存储操作系统和项目文件。
2. 增加内存:确保系统有足够的内存运行开发工具和应用程序。
3. 优化 IDE 设置:根据系统资源调整 IDE 的内存设置和性能选项。
4. 使用轻量级工具:对于资源有限的系统,考虑使用轻量级的编辑器和工具。
5. 管理启动项:减少不必要的启动项,加快系统启动速度。

8.4 持续学习与改进

技术不断发展,保持学习是提高开发效率的关键:

1. 关注新技术:定期了解新的开发工具、框架和技术。
2. 参与社区:加入开发者社区,分享经验和学习他人的最佳实践。
3. 尝试新工具:定期尝试新的开发工具和流程,寻找更高效的工作方式。
4. 收集反馈:从团队成员和社区收集反馈,改进开发环境和工作流程。
5. 自动化重复任务:识别并自动化重复性任务,节省时间和精力。

9. 结语

本教程详细介绍了如何在 Pop!_OS 上构建一个完整的开发环境,涵盖了多种编程语言的安装、IDE 配置、版本控制系统以及容器技术。通过遵循本教程,您已经拥有了一个强大、灵活且高效的开发环境,可以满足各种开发需求。

记住,开发环境的设置是一个持续的过程,随着技术的发展和个人需求的变化,您可能需要不断调整和优化您的环境。希望本教程能为您提供一个坚实的基础,帮助您在 Pop!_OS 上实现高效的开发工作流。

祝您编码愉快!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

频道订阅

频道订阅

加入社群

加入社群

联系我们|TG频道|RSS

Powered by Pixtech

© 2025 Pixtech Team.