# project-init **Repository Path**: Xynrin/project-init ## Basic Information - **Project Name**: project-init - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-18 - **Last Updated**: 2026-09-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
# 🚀 project-init **Windows 编程环境一键安装 · 国内高速镜像 · 专为学校机房与新手打造** 一条命令,自动装好 Git、Node.js、Python、Java、Go、Rust、VS Code……
走镜像、不用一个个找安装包、不用手动配环境变量。 ![Windows](https://img.shields.io/badge/Windows-10%20%7C%2011-0078D6?logo=windows&logoColor=white) ![PowerShell](https://img.shields.io/badge/PowerShell-5.1%2B-5391FE?logo=powershell&logoColor=white) ![Mirror](https://img.shields.io/badge/下载源-国内镜像-brightgreen) ![Version](https://img.shields.io/badge/版本-v1.4.0-orange) 👤 作者 / 维护者:[Xynrin (BlackCat)](https://gitee.com/Xynrin)  ·  🔗 项目主页:[gitee.com/Xynrin/project-init](https://gitee.com/Xynrin/project-init)
--- ## 📖 目录 - [它能帮你做什么](#-它能帮你做什么) - [三步上手(新手看这里)](#-三步上手新手看这里) - [运行时会看到什么](#-运行时会看到什么) - [会安装哪些软件](#-会安装哪些软件) - [装完之后怎么验证](#-装完之后怎么验证) - [常见问题 FAQ](#-常见问题-faq) - [关于本脚本:会改动电脑的哪些地方](#-关于本脚本会改动电脑的哪些地方) - [进阶用法](#-进阶用法) - [自定义软件清单](#-自定义软件清单) --- ## ✨ 它能帮你做什么 | | 特点 | 说明 | |---|---|---| | 🇨🇳 | **国内镜像,下载快** | 清华 TUNA、npmmirror、阿里云、华为云等镜像,不再“下载到一半卡住” | | 🖱️ | **有菜单,不用记命令** | 方向键 + 空格勾选想装的软件,回车开始 | | 📊 | **实时进度条** | 每个软件都显示下载进度、网速、剩余时间,以及总体进度 | | ⏯️ | **断点续传,随时可停** | 断网或关掉窗口也没关系,再运行一次会从断点继续 | | 🔁 | **重复运行很安全** | 已经装好的软件自动跳过,只补装缺的 | | 🩺 | **出错有中文提示** | 失败时告诉你可能的原因和解决办法 | | ⚙️ | **自动配置环境** | 自动设置 PATH、JAVA_HOME,并把 npm/pip/conda/go/cargo 换成国内源 | | 🖥️ | **自动创建桌面图标** | VS Code、Git Bash、7-Zip、MarkText、Anaconda Prompt 装好后桌面直接有图标 | --- ## 🐣 三步上手(新手看这里) ### 第 1 步:以管理员身份打开 PowerShell > 右键点击屏幕左下角的 **开始按钮(Windows 图标)** → 选择 **“终端(管理员)”** 或 **“Windows PowerShell(管理员)”** → 弹出的窗口点 **“是”**。
💡 没有管理员权限怎么办?(点击展开) 直接打开普通的 PowerShell 也能用。只是 **Git 和 7-Zip 需要管理员权限**,会被自动跳过,其他软件照常安装。
### 第 2 步:复制下面这行命令,粘贴到窗口里,按回车 ```powershell irm https://gitee.com/Xynrin/project-init/raw/master/install.ps1 | iex ``` > 📋 在 PowerShell 窗口里 **单击鼠标右键** 就能粘贴。 ### 第 3 步:跟着菜单操作 屏幕上会出现主菜单: ```text [1] 一键安装推荐组件(新手推荐) [2] 自己挑选要安装的软件 [3] 查看各软件当前是否已安装 [4] 关于本脚本(会改动哪些地方、如何卸载) [5] 只补建桌面图标(已经装好了但桌面上没有图标时用) [Q] 退出(不做任何改动) 15 秒后自动开始 [1] 一键安装推荐组件,按任意键停止倒计时... ``` - 不知道选什么?**直接按 `1`**,或者什么都不按,15 秒后会自动开始。 - 装完后桌面上会出现软件图标,双击即可打开;命令行工具需要 **关闭窗口,重新打开一个新的终端** 才能用。🎉 - **以前装过、但桌面上没有图标?** 再运行一次命令,在菜单里按 `5`,几秒钟就能补上图标,不会重新安装任何软件。 > 🖱️ **更懒的办法**:下载本仓库的 [`install.cmd`](./install.cmd),**双击运行** 即可。它会自动请求管理员权限,效果和上面一样。 --- ## 👀 运行时会看到什么 **自己挑选软件**(菜单 `[2]`): ```text [↑/↓] 移动 [空格] 勾选/取消 [数字/字母] 直接勾选对应项 [Enter] 下一步 [A] 全选 [N] 全不选 [R] 恢复推荐 [Q/Esc] 返回 > [1] [x] Git for Windows (需管理员) [2] [x] 7-Zip (需管理员) [3] [x] Node.js LTS (已安装) [4] [ ] pnpm ... -------------------------------------------------------------------- 说明: 分布式版本控制系统(npmmirror / 华为云镜像) 位置: C:\Program Files\Git ``` **安装过程中**,每个软件都有清晰的进度: ```text ---------------------------------------------------------------------- 总进度 [########------------] 40% 第 4/10 项 已用时 03:12 >> 正在处理: JDK 21 (Temurin) [Language] 说明: Java 21 开发工具包(清华 TUNA / 华为云镜像) 位置: D:\tools\jdk-21 >> 开始下载(下载源: mirrors.tuna.tsinghua.edu.cn) 文件: OpenJDK21U-jdk_x64_windows_hotspot_21.0.5_11.zip (195.3 MB) 快捷键: [S] 跳过这个软件 [P] 暂停/继续 [Q] 结束整个安装 [##########--------------] 42.6% 83.2 MB / 195.3 MB 6.8 MB/s 剩余 00:16 ``` | 下载时按键 | 作用 | |:---:|---| | `S` | 跳过当前这个软件,继续装下一个 | | `P` | 暂停 / 继续下载 | | `Q` | 结束整个安装(会先显示汇总,不会直接关窗口) | **全部完成后**,会有一张汇总表,并告诉你下一步做什么: ```text 软件 结果 用时 说明 Git for Windows 成功 01:05 Node.js LTS 已安装,跳过 已安装 Go 失败 见下方处理建议 【失败项处理建议】 - Go: 下载失败:请确认能正常打开网页(校园网需先登录)。重新运行会从断点继续…… 【接下来要做什么】 1. 关闭当前终端窗口,再重新打开一个,新装的软件才能在命令行里使用 2. 在新终端里输入下面的命令,能看到版本号就说明装好了: git --version # Git for Windows ``` --- ## 📦 会安装哪些软件 | ID | 软件 | 用途 | 需要管理员 | 下载源 | 桌面图标 | |---|---|---|:---:|---|:---:| | `git` | Git for Windows | 代码版本管理 | ✅ | npmmirror / 华为云 | Git Bash | | `7zip` | 7-Zip | 解压缩工具 | ✅ | 官方 / 备用 CDN | 7-Zip | | `node` | Node.js LTS | 运行 JavaScript | | npmmirror / 清华 TUNA | | | `pnpm` | pnpm | 前端包管理器(依赖 Node.js) | | npmmirror | | | `miniconda` | Miniconda3 | Python 环境 | | 清华 TUNA / 阿里云 | Anaconda Prompt | | `jdk21` | JDK 21 (Temurin) | Java 开发 | | 清华 TUNA / 华为云 | | | `go` | Go | Go 语言开发 | | 阿里云 / 官方(含 SHA256 校验) | | | `rust` | Rust (rustup) | Rust 语言开发 | | rsproxy.cn / 清华 / 中科大 | | | `vscode` | Visual Studio Code | 代码编辑器 | | 微软官方 CDN | VS Code | | `marktext` | MarkText | Markdown 阅读 / 编辑器 | | gh-proxy.com / ghproxy.net 加速 | MarkText | | `pip-mirror` | pip 国内源 | 让 `pip install` 变快 | | 清华 TUNA | |
🔧 每个软件会顺手做哪些配置?(点击展开) | 软件 | 自动配置 | |---|---| | Git | `init.defaultBranch=main` | | Node.js | npm 源 → npmmirror,并把 npm 全局目录加入 PATH | | Miniconda | conda 源 → 清华 TUNA | | JDK 21 | 设置 `JAVA_HOME`,管理员模式下置顶到系统 PATH | | Go | `GOPROXY=https://goproxy.cn,direct` | | Rust | rustup 与 cargo 源 → rsproxy.cn(稀疏索引) | | pip | 源 → 清华 TUNA,并升级 pip |
--- ## ✅ 装完之后怎么验证 **先关闭终端,重新打开一个新的**,然后逐行输入,能看到版本号就说明装好了: ```powershell git --version node -v pnpm -v conda --version java -version go version cargo --version code --version ``` --- ## ❓ 常见问题 FAQ
Q1:粘贴命令后出现红字 “在此系统上禁止运行脚本” 先执行下面这行,再重新粘贴安装命令(只对当前窗口生效,不影响系统): ```powershell Set-ExecutionPolicy Bypass -Scope Process -Force ``` 或者直接双击 [`install.cmd`](./install.cmd),它会自动处理。
Q2:提示 “无法连接国内镜像站” / 下载失败 - **校园网**:请先打开浏览器,完成上网认证登录; - **开了代理 / VPN**:尝试关掉后重新运行; - 再运行一次同样的命令即可,**已下载的部分会断点续传**,已装好的会自动跳过。
Q3:装完了,但输入 node / git 提示 “无法识别” 新的环境变量需要 **重新打开终端** 才会生效。关闭所有终端窗口后重新打开;还不行就 **注销或重启电脑**。
Q4:Git / 7-Zip 显示 “需管理员,跳过” 右键开始按钮 → “终端(管理员)”,重新运行安装命令即可,其他已装好的软件会自动跳过。
Q5:安装失败,提示 “安装程序返回了错误代码” 通常是 **杀毒软件(360、火绒等)拦截**,或者该软件正在运行。关闭对应程序或暂时退出杀毒软件后重新运行。
Q6:提示 “文件正被另一个进程使用” 通常是 **同时开了两个安装窗口**。脚本会自动处理:以 **最新打开的窗口为准**,自动结束旧窗口及它启动的下载/安装程序,然后继续下载。 如果占用者是杀毒软件(正在扫描安装包),脚本不会强行结束它,而是稍等后自动重试。反复出现时,请把 `D:\project-init\downloads` 加入杀毒软件白名单。
Q7:软件装好了,但桌面上没有图标 旧版本不会创建桌面图标。重新运行安装命令,在主菜单按 **`5`(只补建桌面图标)** 即可,不会重新安装任何软件;也可以直接运行: ```powershell & ([scriptblock]::Create((irm https://gitee.com/Xynrin/project-init/raw/master/install.ps1))) -Shortcuts ``` > 以 **管理员身份** 运行时,Git Bash、7-Zip 的图标会放到 **公共桌面**,机房里每个登录的用户都能看到;VS Code、MarkText、Anaconda Prompt 装在个人目录,图标只放在当前用户的桌面。
Q8:Rust 编译时报 link.exe not found Rust 在 Windows 上编译需要 **Visual Studio 生成工具(C++ 桌面开发)**,请从微软官网安装 “Build Tools for Visual Studio” 并勾选 “使用 C++ 的桌面开发”。
Q9:窗口一闪就关了 / 想看运行日志 每次运行的完整日志都保存在 `D:\project-init\install-log.txt`(没有 D 盘则在 `C:\project-init\`)。
Q10:我只想装其中几个软件 在主菜单按 `2` 自己勾选;或者看下面的 [进阶用法](#-进阶用法),用 `-Packages` 参数指定。
--- ## 🛡️ 关于本脚本:会改动电脑的哪些地方 在菜单里按 `4`(或运行时加 `-About` 参数)也能看到这些说明。 | 改动 | 位置 | |---|---| | 下载的安装包(可随时删除) | `D:\project-init\downloads` | | 绿色版软件(Node.js / Go / JDK) | `D:\tools\` | | Git、7-Zip | `C:\Program Files\` | | VS Code、MarkText、Miniconda、Rust | 当前用户目录 | | 环境变量 | 用户 `PATH`、`JAVA_HOME` 等 | | 各工具下载源配置 | npm / pip / conda / go / cargo 的配置文件 | | 桌面图标 | 当前用户桌面;Git Bash、7-Zip 在管理员模式下放公共桌面 | > 没有 D 盘的电脑会自动改用 C 盘。脚本 **不会删除你的个人文件**,也不会改动与上面无关的系统设置。 **🔒 安全吗?** - 所有软件都来自官方或知名镜像站(清华 TUNA、npmmirror、阿里云、华为云、中科大等); - 脚本完全开源,每一行代码都可以在本仓库查看;Go 安装包会做 SHA256 完整性校验。 **🗑️ 如何卸载?** - Git / 7-Zip / VS Code / MarkText / Miniconda:**设置 → 应用** 中卸载; - Node.js / Go / JDK:直接删除 `D:\tools` 下对应文件夹; - Rust:终端运行 `rustup self uninstall`; - 环境变量:搜索 “编辑系统环境变量” → 环境变量 → 删除 Path 中对应条目。 --- ## 🧰 进阶用法 带参数运行时,需要用下面这种写法(把参数加在最后): ```powershell & ([scriptblock]::Create((irm https://gitee.com/Xynrin/project-init/raw/master/install.ps1))) <参数> ``` | 参数 | 作用 | 示例 | |---|---|---| | *(不加参数)* | 显示主菜单,15 秒无操作自动安装推荐组件 | | | `-i` | 直接进入勾选菜单 | `-i` | | `-Yes` | 不显示菜单,直接安装推荐组件(机房批量部署) | `-Yes` | | `-Packages` | 只安装指定软件 | `-Packages git,node,vscode` | | `-Category` | 按分类安装 | `-Category DevTools,Runtime` | | `-Exclude` | 安装推荐组件,但排除某些 | `-Exclude rust,miniconda` | | `-All` | 安装清单中的全部软件 | `-All` | | `-Force` | 已安装的也重新安装 | `-Force` | | `-DryRun` | 演练:只显示会做什么,不真正安装 | `-DryRun` | | `-List` | 查看所有软件及安装状态 | `-List` | | `-About` | 查看关于本脚本 / 改动说明 | `-About` | | `-Shortcuts` | 只为已安装的软件补建桌面图标,不安装软件 | `-Shortcuts` | | `-NoShortcut` | 安装时不创建桌面图标 | `-NoShortcut` | | `-ToolsDir` | 自定义绿色软件安装目录 | `-ToolsDir "E:\tools"` | | `-Config` | 使用自定义软件清单(本地路径或网址) | `-Config .\my.json` | | `-Help` | 查看帮助 | `-Help` | **从 CMD / `Win + R` 运行:** ```cmd powershell -NoProfile -ExecutionPolicy Bypass -Command "irm https://gitee.com/Xynrin/project-init/raw/master/install.ps1 | iex" ``` **离线 / 本地运行:** 下载或 `git clone` 本仓库后,双击 `install.cmd`(会自动使用同目录下的 `setup.ps1` 和 `packages.json`),或执行: ```powershell powershell -ExecutionPolicy Bypass -File .\setup.ps1 ``` --- ## 🛠️ 自定义软件清单 所有软件都定义在 [`packages.json`](./packages.json) 里。想增加一个新软件,只需要在 `packages` 数组里追加一段 JSON,不用改脚本代码。
示例:增加一个 Zip 绿色版软件(Neovim) ```json { "id": "neovim", "name": "Neovim", "category": "Editor", "description": "现代化 Vim 编辑器", "enabled": true, "adminRequired": false, "verify": "nvim --version", "detect": { "paths": ["${toolsDir}\\nvim\\bin\\nvim.exe"] }, "source": { "type": "direct", "url": "https://ghproxy.net/https://github.com/neovim/neovim/releases/latest/download/nvim-win64.zip", "fileName": "nvim-win64.zip" }, "install": { "type": "zip", "targetDir": "${toolsDir}\\nvim", "stripRoot": true }, "env": { "userPath": ["${toolsDir}\\nvim\\bin"] } } ```
字段说明 | 字段 | 说明 | |---|---| | `id` / `name` / `description` | 软件标识、显示名称、说明 | | `enabled` | 是否属于“推荐组件”(主菜单 `[1]` 会安装) | | `adminRequired` | 是否需要管理员权限 | | `dependsOn` | 前置依赖(如 `["node"]`),缺失时会自动加入安装列表 | | `verify` | 装完后提示用户验证的命令 | | `shortcuts` | 桌面图标列表:`name`、`target`(可写多个候选路径)、`args`、`icon`、`scope`(`user` = 只放当前用户桌面) | | `detect.paths` / `detect.command` | 用来判断是否已安装 | | `source.type` | `direct`(直链,可配 `fallbackUrls` 备用源)等 | | `install.type` | `inno` / `nsis` / `exe` / `msi` / `zip` / `npm-global` | | `env.userPath` / `env.variables` | 要加入的 PATH 与环境变量 | | `postInstall` | 安装后执行的配置命令 | 可用路径变量:`${drive}`、`${toolsDir}`、`${downloadsDir}`、`${userProfile}`、`${localAppData}`、`${appData}`、`${programFiles}`。
---
觉得好用的话,欢迎到 [Gitee](https://gitee.com/Xynrin/project-init) 点个 ⭐ Star!
遇到问题可以提 [Issue](https://gitee.com/Xynrin/project-init/issues),附上 `install-log.txt` 日志会更快定位。