打造我的 Windows 开发环境

系统环境

新终端安装和PowerShell 7

首先自然是全新的 Windows 终端了,颜值能力同步在线,再也不用去折腾 Cmder 类似的东西了,直接通过windows的应用商店安装即可。

Nerd Fonts 字体安装

终端显示图形,需要安装字体,可从Nerd Fonts - Iconic font aggregator, glyphs/icons collection, & fonts patcher 选选择安装。

安装和配置 Oh My Posh

Oh My Posh

使用如下命令安装:

 winget install oh-my-posh --source winget

Themes | Oh My Posh 中选择你喜欢的主题样式,以 grandpa-style 为例

 # 打开 pwsh 的配置文件
 notepad $PROFILE
 # 在文件中添加以下内容
 oh-my-posh init pwsh --config "$env:POSH_THEMES_PATH\grandpa-style.omp.json" | Invoke-Expression

选用其他主题则自行替换上面代码中的 grandpa-style 即可。

安装并启用 posh-git

 # 安装
 PowerShellGet\Install-Module posh-git -Scope CurrentUser -Force
 # 打开 pwsh 的配置文件
 notepad $PROFILE
 # 在文件中添加以下内容
 Import-Module posh-git

WSL 安装

参考官方文档安装 WSL | Microsoft Learn 逐步操作即可。

正常来说,只需要 wsl --install 即可,会默认安装 Ubuntu 系统, 如果你习惯于其他 linux 发行版,可通过 wsl -l -o 查看,然后通过 wsl install -d [发行版名称] 进行安装。

如果安装过程中出现错误,可通过learn.microsoft.com/zh-cn/windo… 的指南逐步安装即可。

接着可以更新下 Ubuntu 的系统环境

 # 安装系统和软件更新
 sudo apt update && sudo apt -y upgrade

image.png

Docker

Windows 下 Docker 的安装也很简单, 去 Download Docker Desktop | Docker 下载运行安装包运行即可。

winget上也提供了 Docker 的包,以下命令可直接安装。

 winget install  Docker.DockerDesktop --source winget

完成安装后可在设置中开启如下配置,这样就可以在 wsl 中也调用docker了。

image.png

SMB

SMB(Server Message Block)服务是一种网络文件共享协议,可以很方便的共享文件。

启用SMB加密

虽然都是局域网的场景,但现在家庭中的联网设备越来越多,这些设备还都和外围相连,考虑传输的安全性,我们需要打开加密特性。

使用如下为整个文件服务器启用 SMB 加密。

 Set-SmbServerConfiguration –EncryptData $true

参阅 SMB 安全增强功能 | Microsoft Learn

关闭smbv1

上面说了开启 smb 加密,但是 smbv1 是不支持加密的,而且 smbv1 存在较多的安全漏洞,因此我们需关闭smbv1, 同理以管理员身份开启的 pwsh 或 powershell 中执行下面命令即可。

 Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
 # 以下为输出
 FeatureName      : SMB1Protocol
 DisplayName      : SMB 1.0/CIFS 文件共享支持
 Description      : 支持 SMB 1.0/CIFS 文件共享协议和计算机浏览器协议。
 RestartRequired  : Possible
 State            : Enabled
 CustomProperties :
                    ServerComponent\Description : 支持 SMB 1.0/CIFS 文件共享协议和计算机浏览器协议。
                    ServerComponent\DisplayName : SMB 1.0/CIFS 文件共享支持
                    ServerComponent\Id : 487
                    ServerComponent\Type : Feature
                    ServerComponent\UniqueName : FS-SMB1
                    ServerComponent\Deploys\Update\Name : SMB1Protocol

如果 State 为 Enable 则可以通过如下命令来禁止

 Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol
 是否立即重启计算机以完成此操作?
 [Y] Yes  [N] No  [?] Help (default is "Y"): N
 Path          :
 Online        : True
 RestartNeeded : True

会提醒重启,按需立即重启或后续手工重启均可。

参阅 如何在 Windows 中检测、启用和禁用 SMBv1、SMBv2 和 SMBv3 | Microsoft Learn

OpenSSH 安装

目前windows中也可以直接使用 openSSH了,直接在可选功能中进行安装即可,路径:设置( Win + I) -> 应用 -> 可选功能,如下图:

image.png

Git

作为开发者, Git 自然是必不可少的工具,windows 下安装 Git 除了 Git for Windows 之外,现在还可通过 winget 进行安装。

 # 搜索 git
 winget show git
 # 输出
 名称   ID           源
 ---------------------------
 My Git 9NLVK2SL2SSP msstore
 Git    Git.Git      winget
 ​
 # 安装 git
 winget install --id Git.Git -e --source winget

PowerToys

PowerToys 真好用,谁用谁知道,以下命令可一键安装:

winget install Microsoft.PowerToys --source winget

其他可选

  • Scoop 可作为自带 winget 的补充

开发环境

node

nvm

还是习惯使用 nvm 来管理 Nodejs 的版本,直接从 nvm-windows 下载安装即可。

为了高速使用,通常会配置好下载代理:

nvm node_mirror  https://npmmirror.com/mirrors/node/
nvm npm_mirror https://npmmirror.com/mirrors/npm/

安装需要的nodejs版本

nvm install v16.16.0

image.png

包管理

虽然改配置文件就可以切换安装源,但是当你有多个仓库源需要来回切换时,比如公司内部的源,一个更方便的切换命令就不可少了,这里我选择 nrm 来作为快速切换工具。

使用如下命令进行安装:

npm install -g nrm open@8.4.2 --registry=https://registry.npmmirror.com

至于上面为什么不直接是 npm install -g nrm ,这是因为node更新后很多包默认使用了esm,nrm的一个依赖包就只提供了esm模块的导出,而nrm中还都是commonjs的导入,因此出错。

此问题自2023.03发现,至今(2023.06.17)依然存在。但没有发现更好的工具,暂时先将就吧。

pnpm

在Nodejs自带的 npm 之外,还可以用 pnpm 。 pnpm 号称速度快2倍,同时node_modules 中的所有文件均在一个位置应用时大部分是软连接,还内置 Monorepo 的支持。有啥不试试的理由呢。

go

windows 安装 go 也是直接使用官网安装包即可。

只是务必不要忘记设置 GOPROXY,否则大概率会出现各种安装失败。此处我们使用七牛云 - Goproxy.cn 服务。

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct

多版本切换

在已经安装好 go 之后,如果有使用其他版本的需求就可以使用 go install 命令来进行其他版本的安装。

 # 链接安装器
 go install golang.org/dl/go1.18.10@latest
 # 执行下载安装
 go1.18.10 download
 # 测试
 go1.18.10 version

image.png

这是官方的方案,但使用其他版本时命令有所变化,必须得加上版本号 go -> go1.18.10 使用起来没那么顺手。类似的还有下面两个,go 这块我也还是半罐子,就不做推荐了。

开发工具

vscode

vscode一个基本已经够了,官网下载安装即可, 至于配置以前有 settings sync, 现在只要登录下账号,之前的配置都可以自动同步。

At End

每次切新设备,配置环境都需要花费不少的时间,虽然都有安装程序,但一次次点也是蛮麻烦的事情。 可以看到不少程序都在winget中都有提供,我在想是不是可以写个脚本,来一键完整安装。

var code = "fbdd62f7-5104-4847-9894-68e4488b7d72"
posted @ 2023-06-17 21:43  依韵_宵音  阅读(140)  评论(0编辑  收藏  举报  来源