macbook 开发环境配置

Homebrew 替代镜像源

# 进入 homebrew 根目录
cd "$(brew --repo)"
# 替换 brew 远程库
git remote set-url origin git://mirrors.ustc.edu.cn/brew.git
cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
# 替换 home-brew 远程库
git remote set-url origin git://mirrors.ustc.edu.cn/homebrew-core.git
# 更新 brew
brew update

国内源

管理多个 SSH Key

生成并添加第一个 ssh key

第一次使用 ssh 生成 key,默认会在用户~(根目录)下生成 id_rsa, id_rsa.pub 2 个文件;所以需要添加多个 ssh key 时也会生成对应的私钥和公钥。

ssh-keygen -t rsa -C "youremail@yourcompany.com"

在 Git Bash 中执行这条命令一路回车,会在 ~/.ssh/ 目录下生成 id_rsa 和 id_rsa.pub 两个文件,用文本编辑器将 id_rsa_pub 中的内容复制一下粘贴到 github(gitlab)上。

生成并添加第二个 ssh key

ssh-keygen -t rsa -C "youremail@gmail.com"

注意不要一路回车,要给这个文件起一个名字, 比如叫 id_rsa_github, 所以相应的也会生成一个 id_rsa_github.pub 文件。

img

目录结构如下: img

添加私钥

ssh-add ~/.ssh/id_rsa
ssh-add ~/.ssh/id_rsa_github

如果执行 ssh-add 时提示"Could not open a connection to your authentication agent",可以现执行命令:

ssh-agent bash

然后再运行 ssh-add 命令。

# 可以通过 ssh-add -l 来确私钥列表
$ ssh-add -l

# 可以通过 ssh-add -D 来清空私钥列表
$ ssh-add -D

修改配置文件

在 ~/.ssh 目录下新建一个 config 文件

touch config

添加内容:

# gitlab
Host gitlab.com
    HostName gitlab.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa

# github
Host github.com
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_github

测试

ssh -T git@github.com

输出 Hi user! You've successfully authenticated, but GitHub does not provide shell access. 就表示成功的连上 github 了

NPM 镜像的坑

更多配置见 binary-mirror-config

npm i -g nrm
nrm use taobao

npm config set disturl https://npm.taobao.org/mirrors/node/
npm config set sass_binary_site https://npm.taobao.org/mirrors/node-sass/
npm config set sharp_dist_base_url https://npm.taobao.org/mirrors/sharp-libvips/
npm config set electron_mirror https://npm.taobao.org/mirrors/electron/
npm config set puppeteer_download_host https://npm.taobao.org/mirrors/
npm config set phantomjs_cdnurl https://npm.taobao.org/mirrors/phantomjs/
npm config set sentrycli_cdnurl https://npm.taobao.org/mirrors/sentry-cli/
npm config set sqlite3_binary_site https://npm.taobao.org/mirrors/sqlite3/
npm config set python_mirror https://npm.taobao.org/mirrors/python/