VuePress博客转移部署至Macos过程整理
# WIN更换MAC重新配置VUE Press遇到的问题整理
近期受不了WIN系统,买了台二手MBP14,开始使用MAC系统,确实很好用,不过因为系统不同,遇到了一些问题,在此整理一下,给以后需要折腾的用户提供些方便。
# 本地部署部分
在MACOS下,遇到如下问题:使用 npm install
命令后无法正常dev
,经过调查,报错代码显示缺少watch回传,根本原因是部分依赖版本太高,降低版本后正常建构。
# 部署云端的问题
问题点:在Trae使用git push命令,会弹出github绑定,就可以直接推送,但是使用blog配置的deploy.sh
脚本,使用npm run deploy,却提示SSH问题
原因:因为Trae内的 认证方式不同 和 执行环境不同 导致的。
TRAE 使用 git push 能正常推送,因为通过 Trae 已经登录了 GitHub,并启用了 HTTPS + GitHub token (弹出的github登录网页就是进行绑定的)。
deploy.sh 使用 SSH 地址 git@github.com:xxx,推送时报错,因为在执行脚本的 shell 环境中,需要在系统层级配置好 SSH key,否则报错。
# 方法一:使用 HTTPS 地址推送
如已经配置过 HTTPS + GitHub Token,建议将脚本中的地址改为:
push_addr=https://github.com/yourname/yourrepo.git
这样可以沿用 TRAE 的认证方式,不依赖 SSH,最简单直接。
# 方法二:使用 SSH 推送
笔记
(该部分由AI生成,未进行内容验证与修改,请自行辨认)
以下是在macOS上配置与GitHub的SSH的详细步骤:
# 检查是否已有SSH密钥
在终端运行以下命令:
ls -al ~/.ssh
如果看到id_rsa
和id_rsa.pub
这两个文件,说明已有SSH密钥,可跳过生成步骤。
# 生成新的SSH密钥
如果没有SSH密钥,可以运行以下命令生成一个新的:
ssh-keygen -t rsa -b 4096 -C "your-email@example.com"
其中,-t rsa
表示使用RSA加密算法,-b 4096
表示生成4096位密钥以提高安全性,-C "your-email@example.com"
需要替换为你自己的GitHub账号邮箱,作为注释。
终端会提示你保存密钥的路径,默认路径是~/.ssh/id_rsa
,直接按回车即可。系统还会提示输入Passphrase
(密码短语),可以选择输入(提高安全性)或直接回车跳过(更方便使用)。
# 添加SSH密钥到ssh - agent并让其永久生效
- 启动
ssh - agent
:
eval "$(ssh - agent -s)"
- 添加SSH私钥到
ssh - agent
:
ssh - add ~/.ssh/id_rsa
- 让
ssh - agent
记住密钥(避免重启后失效): 如果你使用zsh
(macOS默认),执行以下命令:
echo "ssh - add ~/.ssh/id_rsa" >> ~/.zshrc
如果你使用bash
,则执行:
echo "ssh - add ~/.ssh/id_rsa" >> ~/.bashrc
然后重新加载shell配置:
source ~/.bashrc # 如果你使用bash
如果你使用macOS Monterey及以上版本,可能需要修改~/.ssh/config
以启用UseKeychain
选项,执行以下命令:
echo "Host github.com\n AddKeysToAgent yes\n UseKeychain yes\n IdentityFile ~/.ssh/id_rsa" >> ~/.ssh/config
# 添加SSH公钥到GitHub
- 显示SSH公钥内容:
cat ~/.ssh/id_rsa.pub
复制终端输出的公钥内容。
2. 打开GitHub SSH Key设置页面 (opens new window)。
3. 点击“New SSH Key”。
- “Title”:输入描述,如“MacBook SSH Key”。
- “Key Type”:选择Authentication Key
。
- “Key”:粘贴公钥内容。
4. 点击“Add SSH Key”,完成绑定。
# 测试SSH连接
使用以下命令测试SSH连接GitHub:
ssh -T git@github.com
如果成功,会返回:Hi your - username! You've successfully authenticated, but GitHub does not provide shell access.
# 让Git使用SSH方式
默认情况下,Git可能仍然使用HTTPS访问GitHub。可以运行以下命令让Git全局使用SSH:
git config --global url."git@github.com:".insteadOf "https://github.com/"
这将确保git clone
、git pull
和git push
默认使用SSH。