乐趣区

关于前端:打造我的-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 [发行版名称] 进行装置。

如果装置过程中呈现谬误,可通过 https://learn.microsoft.com/zh-cn/windows/wsl/install-manual 的指南逐渐装置即可。

接着能够更新下 Ubuntu 的零碎环境

# 装置零碎和软件更新
sudo apt update && sudo apt -y upgrade

Docker

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

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

winget install  Docker.DockerDesktop --source winget

实现装置后可在设置中开启如下配置,这样就能够在 wsl 中也调用 docker 了。

如果有

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

OpenSHH 装置

目前 windows 中也能够间接应用 openSHH 了,间接在可选性能中进行装置即可,门路:设置 (Win + I) -> 利用 -> 可选性能,如下图:

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

包治理

尽管改配置文件就能够切换装置源,然而当你有多个仓库源须要来回切换时,比方公司外部的源,一个更不便的切换命令就不可少了,这里我抉择 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

这是官网的计划,但应用其余版本时命令有所变动,必须得加上版本号 go -> go1.18.10 应用起来没那么棘手。相似的还有上面两个,go 这块我也还是半罐子,就不做举荐了。

  • moovweb/gvm: Go Version Manager (github.com) 全平台
  • voidint/g: Golang Version Manager (github.com) 不反对 windows

开发工具

vscode

vscode 一个根本曾经够了,官网下载安装即可,至于配置以前有 settings sync,当初只有登录下账号,之前的配置都能够主动同步。

At End

每次切新设施,配置环境都须要破费不少的工夫,尽管都有安装程序,但一次次点也是蛮麻烦的事件。能够看到不少程序都在 winget 中都有提供,我在想是不是能够写个脚本,来一键残缺装置。

退出移动版