Mac 基本开发环境配置
因为自己喜欢苹果产品的体验,还有可以提高工作效率
作为一只单身汪,下决心买了 Mac Air
用了几天里的零碎时间,配好了环境,分享过程给大家
1. 快捷键符号
⌃ Control
⌥ alt/option
⌘ command
⇧ shift
⇪ caps lock
2. 中文输入法设置
设置Spotlight 的快捷键与更换输入法的快捷键,不要占用Control
键^
在System Preferences > Keyboard > Shortcuts
里设置
把 Spotlight 设置为 ⌥Space
,把更换输入法设置为 ⌘Space
;而 Spotlight 中,Show Finder Search Window 不使用快捷键;Input Sources 中,Select next source in Input menu 不使用快捷键
3. 命令行(Terminal/iTerm的基本设置)
请逐次拷贝粘贴以下命令行,而后再按回车键执行
(1)
1 | cd ~ |
(2)
1 | curl -O https://raw.githubusercontent.com/donnemartin/dev-setup/master/.bash_profile |
(3)
1 | curl -O https://raw.githubusercontent.com/donnemartin/dev-setup/master/.bash_prompt |
(4)
1 | curl -O https://raw.githubusercontent.com/donnemartin/dev-setup/master/.aliases |
全部完成之后,重启 Terminal(就是关掉退出之后,再重新打开)。刚才的命令完成了很多事情,只不过现在你搞不懂,你能看到的就是命令行提示变得花花绿绿了,各种颜色有不同的意义。(实际上,相当于把大牛写好的配置文件存到了本地,来自donnemartin/dev-setup)
接下来,要为 Terminal 换个皮肤
Solarized
Spacegray
点 Clone and Download 下载到 Spacegray.terminal
文件,打开 terminal ,在工具栏打开偏好设置(快捷键⌘,
),打开Profiles,点下面小齿轮,点导入,选择文件 Spacegray.terminal
,最后设置为默认
references > Profiles > Spacegray > Text > Font 可以设置字体大小
还有,Mac OSX 其实还有很多快捷键可以设置,其中一个比较重要的是 New Terminal at Folder,在System Preferences > Keyboard > Shortcuts > Services > Files and Folders 里可以找到。我把它设置成了 ⌃⌥⌘T,以后在 Finder 里,用鼠标选中某个文件夹(或称“目录”),然后按 ⌃⌥⌘T,就可以呼出 Terminal 并且将工作目录转至这个文件夹内…… 很方便
PS: 这个设置快捷键的方法,并没有起作用,日后研究。
有三个 Mac OSX 系统自带的东西,工程师们会觉得不够用,进而造出更好的东西来替代,它们分别是:
- Terminal → iTerm iterm2有什么酷功能? - 知乎
- Finder → TotalFinder is a better Finder / Path Finder
- Spotlight → QuickSilver / Alfred
下载 iTerm 之后,要为它更换皮肤,设置字体,设置字体大小……
iTerm 的颜色主题 iTerm Spacegray
字体推荐 Menlo
4. 命令行的使用
常用命令
1 | ls #罗列当前目录下的内容 |
学习快捷键的好去处:
5. 安装必要开发环境
5.1 Xcode Command Line Tool
首先 在Terminal里敲命令时,系统会出来个提示框 要求安装 command line tools,点击安装即可
不需要安装 Xcode。
过去安装这个东西费劲死了,在需要翻山越岭的情况下下载两个多 G 的东西,唉…… Mac OSX EI Capitan 之后,终于可以在命令行工具(Terminal)下这样安装了:
1 | xcode-select --install |
5.2 同意 xcode 许可
1 | sudo xcodebuild -license |
输入 开机密码
反复按 Space
翻页
然后输入 agree
按回车键 ⏎
5.3 安装 Homebrew
命令行工具中拷贝粘贴以下代码,而后按回车键 ⏎
1 | ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" |
随后再次在命令行工具中拷贝粘贴以下代码,而后按回车键 ⏎
1 | echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile |
5.4 安装 Git
1 | brew install git |
配置 git 按 tab 补全功能
1 | curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash |
按 i 键(注意不要使用中文出入法),将这行代码粘贴进去
1 | test -f ~/.git-completion.bash && . $_ |
按 esc
键,再按 :
,然后输入 wq
按回车键 ⏎
5.5 安装 rvm 与 Ruby 2.3.1
注意,以下是三行命令,要分别输入,每行都要按接回车键(⏎)执行。以后为了书写方便,经常会把一系列命令放到一个代码块中……
1 | \curl -sSL https://get.rvm.io | bash -s stable |
如果以上命令安装失败,可以按官网方式安装:
先创建文件夹 include(为了以免安装gpg时报错)
1 | sudo mkdir -p /usr/local/include |
安装 gpg
1 | brew install gnupg gnupg2 |
安装 rvm
1 | gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB |
最后根据安装后的提示
1 | vim ~/.bash_profile |
按 i 键(注意不要使用中文出入法),将source ~/.profile
粘贴为单独的一行
按 esc
键,再按 :
,然后输入 wq
按回车键 ⏎
rvm 是 Ruby 的版本管理工具,其作用是在系统中安装若干个不同版本的 Ruby,且不让它们之间发生冲突。你可以安装很多个版本的 Ruby,比如,刚刚安装了 2.3.1,随后你还可以安装 1.9.2:
1 | rvm install 1.9.2 |
需要使用 1.9.2 版本的 Ruby 的时候,就可以用这个命令:
1 | rvm use 1.9.2 |
也可以随时用这个命令切换回 2.3.1
你也随时可以用这个命令查看自己都安装过哪些版本:
想要卸载哪个版本的 Ruby,你就用这样的命令:
1 | rvm uninstall 1.9.2 |
下面要接着安装的 nvm,跟 rvm 一个原理,只不过 nvm 是 nodejs 的版本管理器
5.6 安装 nvm 和 node 长期支持版本
1 | brew install nvm |
这时会有提示,按提示执行
1 | mkdir ~/.nvm |
按 i 键,将这两行代码粘贴进去
1 | export NVM_DIR="$HOME/.nvm" |
按 esc
键,再按 :
,然后输入 wq
按回车键 ⏎
关闭 Terminal / iTerm,重新打开
nodejs 有两个版本,一个叫 LTS(Long Term Support,提供长期支持的稳定版),一个叫 Current(提供最新功能的当下版,通常也不够稳定,尚需改进)。新手建议使用 LTS。
使用下面命令来安装最新的LTS版
1 | nvm install --lts |
也可以安装指定的版本号,写此文时LTS最新版是8.9.0,也可以这样安装
1 | nvm install 8.9.0 |
然后启动
1 | nvm use 8.9.0 |
升级 nvm 版本
使用 brew 安装的,使用 brew upgrade nvm
命令
其他情况使用命令 issue
1 | cd ~/.nvm && git pull && git checkout `git describe --abbrev=0 --tags` |
5.7 设置自己的快捷命令
Terminal/iTerm 里经常用到但较长的命令,可以通过别名alias的方式来缩写
比如 git checkout master
, 设置后可以缩写为gco master
接下来是具体设置方法:
1 | cd ~ |
按 i
键进入编辑模式,粘贴下列代码
1 | alias hs="hexo g && hexo s" |
按 esc
键,再按 :
,然后输入 wq
按回车键 ⏎
关闭 Terminal/iTerm,重新打开就可以使用这些简写了。
当然,你也可以根据自己的喜好来设置。不过不建议设置太多短命令,以免造成记忆负担。
而 git 快捷命令要在 git 全局配置文件里设置(否则会导致自动补全失效),可以编辑 ~/.gitconfig
文件,也可以使用命令来配置,例如
1 | git config --global alias.ll "log -1 HEAD" |
5.8 修改主机名
终端 Terminal/iTerm 里,显示的“主机名”就是 HostName,也就是主机真正的名称
查看
1 | echo $HOSTNAME |
修改
1 | sudo scutil --set HostName 新的主机名 |
5.9 设置同步盘(软链接、硬链接)
为了数据安全,以及便于存储传输,常常会用到第三方的同步盘,比如腾讯微云
而问题是同步盘只能同步一个文件夹,而我们的数据是散落在多个文件夹里的
还有一个场景是,使用 hexo 时,修改了子仓库某个文件(比如 next 主题里的配置文件),但不想把子仓库一起打包进自己仓库里
这时,可以使用 软连接或硬链接来处理
所谓的软连接,类似于 windows 中的快捷方式,不同的是,这个文件是有数据的,它的数据始终与它指向的原文件一致。
假设同步盘目录是 ~/Cloud
要把~/Project
目录下的 xiaweiss
文件夹加入同步盘
1 | cd ~/Project |
语法是 ln -s 原目录/原文件 目标目录/目标文件
-s 表示符号链接(软链接),注意目标建议绝对路径,因为目标文件移动后,可能会找不到原文件而失效。
软连接有点像分身,如果本体被干掉,分身也就不起作用了。
硬链接 没有-s 参数,语法为 ln 原文件 目标文件
,可以写相对路径。
硬链接像一个本体分裂成了好多个,每一个都是本体,修改一个,相当于把每个都修改了。只有把所有的都删除了,才会真正被消灭。
二者区别主要是:硬链接不可以链接目录,软连接可以;硬链接文件可以拷贝出去使用,挪了位置也可以用,软连接不可以。
使用软连接、硬链接,看起来文件增多了,但并不会增加磁盘存储量。
5.10 显示任何来源选项
macOS Sierra系统隐私里默认不显示“任何来源”选项,这是一种增强型保护机制。
显示“任何来源”选项,在控制台中执行:sudo spctl --master-disable
不显示“任何来源”选项,在控制台中执行:sudo spctl --master-enable
6. 选装
6.1 redis
安装
1 | brew install redis |
安装好后,会看到如下提示语:
To have launchd start redis now and restart at login:
brew services start redis
Or, if you don’t want/need a background service you can just run:
redis-server /usr/local/etc/redis.conf
启动
也即是说官方提供两种启动方式:
1. 常驻服务 重启电脑后 redis 依然在运行
1 | brew services list //查看服务列表 |
常驻服务还有一种启动方式是使用 launchctl
1 | ln -sfv /usr/local/opt/redis/*.plist ~/Library/LaunchAgents //注册到启动项里 |
2. 不需要后台服务,从配置文件启动 重启或关闭 Terminal 服务会停止
1 | redis-server /usr/local/etc/redis.conf |
启动后可以看到界面,退出的话,同时按下 control键 c键 即可
卸载 redis
1 | brew uninstall redis |
查看 redis
查看 redis 信息
1 | brew info redis |
测试 redis 是否在运行,如果看到 PONG
说明正常运行中
1 | redis-cli ping |
fin
如此这般,最基础的开发环境算是完成了,随着使用的深入,还会逐渐补充完善。
关于更详细的开发环境设置,请参阅这两个 Github 项目:
ChangeLog
20190128 添加 5.6 升级 nvm 版本方法
参考资料:
李笑来《基本开发环境设置》
Mac修改主机名和计算机名 - 小昇的博客 | Xs Blog
在Mac下Git使用对于Tab键自动补全功能设置
Terminal-git auto-complete
理解 Linux 的硬链接与软链接
Install and config Redis on Mac OS X via Homebrew