搭建各种环境的记录
随着大学课程的进行,每学期总是会被要求搭建各种各样的运行环境,但在学习完成之后通常我不会再用到它们,所以用这篇blog来记录我搭建过的一些环境,简单描述它们的过程,以便我后续能记得我做过哪些改动,从而可以更好地管理我的电脑空间。
default
我在Mac上安装了命令行工具、Vscode,配置了C/C++的基本环境(参照[bilibili])
于是这一部分我想记录一些命令行常用命令
- 查看当前目录的大小
du -sh .,这个命令会显示磁盘使用情况,包括当前目录以及所有子目录
搭建hexo(Mac)
- 从github上clone了homebrew的仓库
- 在用户目录下,修改了.zshrc与.bashrc文件,配置了homebrew在tuna的镜像源
- 运行了homebrew仓库的脚本文件,安装了homebrew,另外仓库中还有卸载用的文件
- 使用包管理器homebrew安装了node以及其附带的nmp
- 使用nmp为全局配置了hexo环境
- 将为win上的blog源码打包,传到Mac上,并使用
nmp install,索引到package.json文件,完成了依赖包的安装 - 使用git为全局配置了用户名与邮箱
- 使用
ssh-keygen -t rsa -C 我的邮箱,生成了公私钥,同时在本地设置了访问该私钥的密码,相关文件均在用户目录中隐藏,密码同我的Mac密码 - 在github我的主页setting中,添加了访问仓库用的公钥
- 完成了所有配置,并写下这篇blog,上传到了github
搭建java环境(Mac)
- 在网址ORACLE,中下载了ARM64 DMG Installer,对应的是Mac M系列芯片,jdk25.0.1的安装包(170MB)
- 启动安装包,选择安装位置为所有用户安装,相关依赖安装在路径/Library/Java下(300MB左右),可以使用命令
/usr/libexec/java_home -V,该命令用于列出所有已安装的jdk版本及路径 - 注意由于为选择了为所有用户安装,所以对应依赖谁在系统级的Library下,而非用户级别的Library下
- 然后我在Vscode中安装了扩展Extension Pack for Java,对应一共为我自动安装了7个扩展项目(30MB左右),在Vscode中点开扩展清空搜索栏,默认会显示已经安装的扩展
- 最后我在我的Mac用户目录下创建了Java_projects用来存放我的各种java项目,并创建了一个test项目,完成了测试。此外,实际上在运行的时候要依赖于我签名安装的扩展项目中的java run,如果要使用debug的话则依赖于java debug。(但我注意到也可以使用run code运行,这个插件是我前面为了运行C/C++而安装的,不过如果使用它运行,它会将为的java源文件先编译成一个.class的文件)
搭建Vue环境(Mac)
- 检查了我的Mac电脑上具有node.js的环境,以及npm的包管理器
- 于是我使用npm下载了Vue CLI(一个Vue项目的命令行工具),使用命令
npm install -g @vue/cli,在全局安装了这个命令行工具 - 我在用户目录下创建了Vue_projects,用于存放Vue的项目,并在此文件夹下使用
vue create test-project创建了一个测试项目,选择了默认配置Vue2; - 在创建Vue项目的时候遇到了提示
yesys@MacBookAir Vue_projects % vue create test-project? Your connection to the default npm registry seems to be slow. Use https://registry.npmmirror.com for faster installation? (Y/n),提示我使用npm下载包使用的默认源,较慢,建议我切换到镜像源;于是我切换到了https://registry.npmmirror.com,如果要切换回默认源可以使用npm config set registry https://registry.npmjs.org - 接下来cd到我的项目目录,并使用
npm run serve打开了我的项目,可以使用浏览器,以及本地的端口号http://localhost:8080/进行访问 - 后续我可以使用Vscode在项目文件夹下进行开发工作,使用5中运行项目的命令可以实时查看效果;最后如果项目完成了的话可以使用
npm run build生成生产版本 - 为了在Vscode中进行Vue开发,我安装了Vue(Official)的插件
- 注意:使用vue create project—name创建的项目,所有相关依赖都在该项目文件夹下(node_modules中),当然也有创建全局依赖的方法;总之明确这一点可以帮助我管理好空间。
搭建微信小程序开发环境(Mac)
- 我在微信公众平台WeChat,为我即将开发的小程序注册了一个账号;
- 成功注册后进入了小程序发布流程界面,完成了前置的一些信息设置,并根据引导下载了
普通小程序开发工具,网址是小程序开发工具下载,下载了macOS ARM64的开发工具,dmg文件390.1MB - 我使用dmg文件安装了微信小程序开发app,名为
微信开发者工具,并推出了安装器,删除了dmg文件; - 使用开发工具,在我的用户目录下创建了
WeChatProjects文件夹以及我的项目文件EasyCN,使用的是基础模版; - 在Vscode中安装了一个名为
微信小程序开发工具的扩展,大概200多MB;
Py环境
在vsc中安装了py扩展包,大概200MB
我的mac环境中自带了python3,或许是和系统开发工具一起安装的
一般的开发流程中需要先配置虚拟环境并手动选择
配置虚拟环境
- 使用vsc命令面板,Python: Create Environment;
- 选择Venv,选择python解释器版本,设置环境名称;(或者直接使用终端命令
python -m venv env_name) - 选择是否安装requirements文件中的内容(如果有的话,.txt .yaml)等
source env_name/bin/activate激活虚拟环境(激活环境之后vsc当前语法检测这一项目会显示目前使用的虚拟环境,或者使用命令which python可以直接查看);- 使用
pip install -r requirements.txt安装环境(如果3中没有选择);
使用虚拟环境
- 创建项目配置文件
.vscode/settings.json - 添加虚拟环境有关配置如下,其中
${workspaceFolder}会自动指向VSCode中打开的项目目录;
1 | { |
虚拟环境lx_back_env
用来做软件工程课设的虚拟环境,里面有一些dj的框架;
虚拟环境~/Py_projects/THINKPADSTROE-BACKEND/lx_back_env
整个环境大概几十MB
配置Mac桌面平铺功能
配置yabai:
- 使用homebrew安装yabai
brew install koekeishiya/formulae/yabai; - 将yabai初始配置文件/opt/homebrew/opt/yabai/share/yabai/examples/yabairc移动到本地~/.yabai
- 编辑文件~/.yabai可以编辑yabai的配置;
- 我在开机的时候按住电源键(长按直到出现选项界面),进入了恢复模式,打开终端使用
crsutil disable,关闭了系统完整性保护SIP; - 使用命令
shasum -a 256 $(which yabai),查看了yabai的哈希值,并使用命令sudo code /etc/sudoers编辑该文件,给yabai添加sudo权限;在/ect/sudoers文件的最后新添加了一行yesys ALL=(root) NOPASSWD:sha256:7f17e8ff8a6131368c013af4029f3831a8e57723d5e2413a3e3f6cc1b8cdae52 /opt/homebrew/bin/yabai --load-sa; - 使用命令
yabai --start-service便可以启动yabai服务; - 使用命令
sudo yabai --load-sa让yabai将自己的功能注入到系统中; - 使用命令
yabai --stop-service可以停止yabai的进程,系统的窗口管理恢复正常;
使用的时候遇到过yabai不能获得完整的窗口管理权限的问题,参考解决方案
配置skhd:
- 使用
brew install安装skhd; - 在~/.skhd中编写skhd的配置文件;
- 使用
skhd --start-service启动skhd服务;
yabai常用命令
yabai -m space --focus 2切换到第二个桌面
yabai --stop-service终止yabai服务
yabai --start-service启动yabai服务
yabai --restart-service重新启动yabai服务
配置Mac个性化终端
首先是一个全新的终端
- 使用命令
brew install --cask wezterm安装wezterm - 不再使用终端,而是使用wezterm
- 创建一个文件保存配置文件在~/.config/wezterm/wezterm.lua
其次是终端的提示效果
- 使用
brew install starship安装了starship,安装信息:“zsh completions have been installed to:
/opt/homebrew/share/zsh/site-functions”; - 编辑~目录下的.zshrc文件(在安装homebrew的时候也创建过),配置starship在zsh启动时生效,加入
eval "$(starship init zsh)"; - 在~/.config目录下创建starship.toml,用来配置starship(然后在starship.rc网站中下载了一个预设的toml文件使用)
终端的文字高亮
- 使用命令
brew install zsh-syntax-highlighting zsh-autosuggestions安装zsh高亮提示工具 - 在.zshrc中配置了初始化启动,以及相关效果设置
终端命令自动补全
- 使用命令
brew install zsh-autocomplete下载zsh自动补全插件; - 在.zshrc中添加相关配置;
wezterm的常用操作
- ctrl+shift+n新开一个窗口
- Ctrl+Shift+T:新建一个标签页
- ctrl+tab:切换到下一个标签页(循环切换)
- 我配置了ctrl+h、l左右切换,然后使用alt+数字切换1~9标签;
配置系统级进程监视工具htop
- 使用
brew install htop安装htop
htop使用
- 使用命令
htop可以开启它; - 上下左右可以移动选中条;
- 空格可以选中F9+return可以结束进程
配置个性化导航栏
- 使用
brew install sketchybar安装了sketchybar; - 我clone了一个大佬的仓库到本地
git clone https://github.com/FelixKratz/dotfiles.git /tmp/felix_dotfiles_complete; - 导航到需要提交的特定版本
cd /tmp/felix_dotfiles以及git checkout e6288b3f4220ca1ac64a68e60fced2d4c3e3e20b - 复制 sketchybar 配置到你的配置目录
cp -r .config/sketchybar ~/.config/ - 安装了一系列外部依赖:
1
2
3
4
5
6
7
8
9
10
11
12
13# 1. 安装必备命令行工具
brew install jq # JSON处理 (必需)
brew install sf-symbols # Apple系统图标 (必需)
brew install gh # GitHub CLI (用于某些插件)
brew install switchaudio-osx # 音频设备切换 (用于音频插件)
brew install cava # 音频频谱可视化
# 注意:`background-music` 可能需要额外步骤,请访问其GitHub页面安装
# 2. 安装 Nerd Fonts (图标字体,必需!)
brew tap homebrew/cask-fonts
brew install --cask font-hack-nerd-font font-sf-pro
# 安装后,务必打开【字体册】应用,确保这些字体已激活。
设置导航栏的音乐组件
- 使用
brew install --cask blackhole-2ch安装blackhole; - 使用
brew install ffmpeg安装ffmpeg(这个依赖似乎比较多有100多MB); - 配置音频路由,让音频不仅输出到扬声器、耳机,还输出到balckhole;
- 配置多输出设备(输出到我原始的设备以及balckhole)这是为了让blackhole能够捕捉到信号,并将blackhole设置为主设备,全部使用48khz;
- 编写相应的plugins和items脚本,名为:audio_dynamic_item.sh audio_beat_item.sh以及dynamic_audio_bar.sh;
- reload sketchybar;
显示当前播放的信息:
- 使用
brew install nowplaying-cli安装nowpalying工具; - 。。。。先搁置吧
配置yazi
- 使用
brew install yazi安装yazi; - 创建文件夹~/.config/yazi
- 在yazi中复制粘贴了github仓库中的默认配置文件yazi-default.toml、keyboard-defualt.toml、dark-theme.toml;
- 在~/.local/bin/yazi-copy-files-macos中编写yazi的快捷键脚本(为了将yazi中复制粘贴的内容放到finder的粘贴板)
- 赋予脚本执行权限
chmod +x ~/.local/bin/yazi-copy-files-macos;
- yazi的使用:
类别 按键 功能
基础导航 h j k l / 方向键 左、下、上、右移动 / 进入文件夹
Enter 进入目录或打开文件
q 退出 Yazi
文件操作标记/取消标记文件(用于批量操作)
y 复制标记的文件
x 剪切标记的文件
p 粘贴文件
d 将文件移至回收站
D 永久删除文件(慎用)
a 新建文件/文件夹(新建文件夹需以/结尾)
r 重命名文件
视图与高级 . 显示/隐藏隐藏文件(以点开头的文件)
~ 或 F1 打开内置帮助菜单,忘记快捷键时随时查阅
Tab 切换标签页 - 执行 Shell 命令
配置typst
- 在vsc安装typst扩展Tinymist Typst;
- 使用
brew install typst安装typst编译器;