item2, homebrew
jdk, adb
python3
node.js, nvm, appium
thefuck

terminal 增强及 homebrew 安装


  1. 开始前检查

    • Xcode:先安装 XCode 并打开运行一次(会初始化安装 components),省去以后在 iterm2 中的等待时间
    • git环境
      git --version
      
  2. 安装iterm2
    iterm2 官网下载安装

  3. 修改默认使用zsh

    chsh -s /bin/zsh
    

    修改回默认 bash:chsh -s /bin/bash

  4. 安装Oh my zsh

    • Curl 安装方式
      sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
      
    • wget安装方式
      sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
      
  5. 安装homebrew
    homebrew 官网

    • 官方提供安装方法
    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
    
    • 可能遇到的问题
    1. Failed to connect to raw.githubusercontent.com port 443: Connection refused
      解决方案:参考域名解析被污染的解决方案
      • https://www.ipaddress.com/查询raw.githubusercontent.com的真实 IP
      • 添加在 hosts 中
      sudo vim /etc/hosts
      # 添加如下hosts,以查询到的ip为准
      199.232.68.133 raw.githubusercontent.com
      
    2. HEAD is now at 6968c199e Merge pull request #10284 from reitermarkus/reinstall-cask-options fatal: Could not resolve HEAD to a revision
      解决方案:执行如下命令git -C $(brew --repo homebrew/core) checkout master
    • 关闭自动更新
      vim ~/.zshrc
      
      export HOMEBREW_NO_AUTO_UPDATE=true
      
  6. 修改打开时的进入的默认目录

    根据个人喜好

    mkdir ~/Monkeyjerry
    vim ~/.zshrc
    
    cd ~/Monkeyjerry
    
  7. 安装一些常用命令

    # tree、jq、gawk等
    brew install tree
    brew install jq
    brew install gawk
    
  • 常见问题

Permission denied @ apply2files - /usr/local/lib/....
解决方案参考1
解决方案参考2

sudo chown -R $(whoami) $(brew --prefix)/*

Python3 环境配置


  1. brew安装python最新版

    brew install python
    
  2. 添加环境变量

    这里用的是通过brew安装的python3, 其他方式需作相应的目录修改

    vim ~/.zshrc
    

    添加:source ~/.bash_profile

    vim ~/.bash_profile
    

    添加:请根据实际安装版本做对应修改

    #指定python3全局环境变量
    export PATH=${PATH}:/usr/local/Cellar/python/3.7.7/bin
    #python命令重命名
    alias python="/usr/local/Cellar/python/3.7.7/bin/python3.7"
    #pip命令重命名
    alias pip="/usr/local/Cellar/python/3.7.7/bin/pip3"
    
  3. 添加环境变量(2)

# 指定python3全局环境变量
export PATH=${PATH}:/usr/local/Cellar/python/3.7.7/bin

# python命令重命名
alias python="/usr/local/bin/python3.7"
alias python3="/usr/local/bin/python3.7"

# pip命令重命名
alias pip="/usr/local/bin/pip3.7"
alias pip3="/usr/local/bin/pip3.7"
  • 建立软链接,如
    rm -rf /usr/local/bin/pip3
    ln -s /usr/local/Cellar/python/3.7.7/bin/pip3.7 /usr/local/bin/pip3
    

更换 pip 源

cd ~
mkdir .pip
cd .pip
touch pip.conf
vim pip.conf

如更换为豆瓣源

[global]
index-url = https://pypi.douban.com/simple
[install]
trusted-host=pypi.douban.com

虚拟环境管理

还是用 virtualenvwrapper 来管理

pip install virtualenv
pip install virtualenvwrapper
mkdir ~/venv
  • 添加环境变量

    vim ~/.zshrc
    
    # python venv
    if [ -f /usr/local/bin/virtualenvwrapper.sh ]; then
    export WORKON_HOME=~/venv
    VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python3.7
    source /usr/local/bin/virtualenvwrapper.sh
    fi
    
  • 相关命令可参考 virtualenvwarpper 管理 python 虚拟环境

我的使用范例

mkvirtualenv fun_python -p python3
lsvirtualenv
rmvirtualenv fun_python
deactivate
pip3.7 list
pip3.7 install requests

iterm2 美化(可选)


  1. 安装PowerLine

    pip install powerline-status --user
    
  2. 安装 PowerFonts

    mkdir ~/Monkeyjerry/OpenSource
    cd ~/Monkeyjerry/OpenSource
    git clone https://github.com/powerline/fonts.git --depth=1
    cd fonts
    ./install.sh
    

    安装好字体库之后,设置 iTerm2 的字体,具体的操作是 iTerm2 -> Preferences ->
    Profiles -> Text,在 Font 区域选中 Change Font,然后找到 Meslo LG 字体。有 L、M、S 可选,看个人喜好。

  3. 安装配色方案

    cd ~/Monkeyjerry/OpenSource
    git clone https://github.com/altercation/solarized
    cd solarized/iterm2-colors-solarized/
    open .
    

    在打开的 finder 窗口中,双击 Solarized Dark.itermcolors 和 Solarized Light.itermcolors 即可安装明暗两种配色。
    再次进入 iTerm2 -> Preferences -> Profiles -> Colors -> Color Presets 中根据个人喜好选择这两种配色中的一种即可

  4. 安装主题
    下载 agnoster 主题

    cd ~/Monkeyjerry/OpenSource
    git clone https://github.com/fcamblor/oh-my-zsh-agnoster-fcamblor.git
    cd oh-my-zsh-agnoster-fcamblor/
    ./install
    

    执行上面的命令会将主题拷贝到 oh my zsh 的 themes 中

    拷贝完成后,执行命令打开zshrc配置文件,将ZSH_THEME后面的字段改为agnoster

    vim ~/.zshrc
    
    ZSH_THEME="agnoster"
    

    退出重启或者source ~/.zshrc生效

  5. 修改终端前缀显示
    默认情况下是显示你电脑user@hostname的格式

  • 修改终端前缀,如隐藏user@hostname,可参看How do I hide the “user@hostname” info
    # 我的修改 vim ~/.oh-my-zsh/themes/agnoster.zsh-theme进入后修改
    # Context: user@hostname (who am I and where am I)
    prompt_context() {
        prompt_segment black default  "🚀🚀🚀"
        # if [[ "$USER" != "$DEFAULT_USER" || -n "iSSH_CLIENT" ]]; then
        # prompt_segment black default "%(!.%{%F{yellow}%}.)%n@%m"
        #  fi
    }
    
  • 修改终端前缀,添加时间显示,可参看Agnoster with timestamp - a theme for ZSH terminal
    # 我的修改,同样vim ~/.oh-my-zsh/themes/agnoster.zsh-theme进入后修改
    # Add timestamp
    prompt_timestamp() {
    #    prompt_segment NONE default ""
    #    echo ""
    DATE=$( date +"%H:%M:%S" )
    prompt_segment white black ${DATE}
    }
    # 并在最后build_prompt() 添加上prompt_timestamp
    ## Main prompt
    build_prompt() {
        RETVAL=$?
        ......
        prompt_timestamp
        .....
    }
    
  1. 安装高亮插件

    cd ~/.oh-my-zsh/custom/plugins/
    git clone https://github.com/zsh-users/zsh-syntax-highlighting.git
    vim ~/.zshrc
    
    plugins = (
        git
        zsh-syntax-highlighting
    )
    

    请务必保证插件顺序,zsh-syntax-highlighting 必须在最后一个。

    在文件的最后一行添加:

    source ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
    

    退出重启或者source ~/.zshrc生效

  2. 命令补全

    cd ~/.oh-my-zsh/custom/plugins/
    git clone https://github.com/zsh-users/zsh-autosuggestions
    vim ~/.zshrc
    
    plugins = (
        git
        zsh-autosuggestions
        zsh-syntax-highlighting
    )
    

    退出重启或者source ~/.zshrc生效

  3. 替换背景
    更换背景图片方式:iTerm2 -> Preferences -> Profiles -> Window -> BackGround Image 勾选图片即可。

  4. 修改字体颜色
    Preferences -> Profiles -> Colors 中有 Foreground 是标准字体颜色,ANSI Colors 中 Bright 的第一个是补全的字体颜色。

jdk 安装


brew安装指定版本

brew cask install adoptopenjdk/openjdk/adoptopenjdk8

添加环境变量

  • 查看java home路径
$ /usr/libexec/java_home -V
Matching Java Virtual Machines (1):
    1.8.0_252, x86_64:	"AdoptOpenJDK 8"	/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home

/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
  • ~/bash_profile中添加
export JAVA_HOME="/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home"
export CLASS_PATH=$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin

sdkman管理多版本java可参看sdkman,推荐

android sdk 安装


  1. 安装android studio
  2. 添加环境变量
    vim ~/.zshrc
    
    export ANDROID_HOME=/Users/tina/Library/Android/sdk/
    export PATH=${PATH}:${ANDROID_HOME}/platform-tools
    export PATH=${PATH}:${ANDROID_HOME}/tools
    export PATH=${PATH}:${ANDROID_HOME}/tools/bin
    
    source ~/.zshrc
    

node.js 安装


  • Node.js 官网 pkg 包安装

  • 校验

    npm -v
    node -v
    
  • 安装 cnpm

    npm install -g cnpm --registry=https://registry.npm.taobao.org
    cnpm -v
    

nvm 管理多版本 node.js

  • 安装 nvm

    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
    

    最新版本查看 nvm github

  • 环境变量
    安装时自动添加到了~/.bash_profile,直接source` 一下生效

    source ~/.bash_profile
    
  • 校验

    nvm --version
    
  • 安装 node.js

    nvm install stable
    nvm uninstall
    nvm ls
    nvm use
    

appium 环境配置


可对比参考 appium win 的安装

appium desktop

appium GitHub 选择mac版本安装

appium server

sudo cnpm install -g appium
sudo cnpm install -g appium-doctor
sudo appium-doctor

thefuck

近期发下一个好玩的项目,也补充在这里
命令行神器「thefuck」,敲命令纠错

brew install thefuck
  • 添加alias(mac)在~/.zshrc
eval $(thefuck --alias)

然后source一下

  • 效果
# 如把python敲成了ptyhon,接着fuck一下, 就会给出合理的正确命令
$ ptyhon
zsh: command not found: ptyhon
$ fuck
python [enter/↑/↓/ctrl+c]

扩展阅读


  1. 搞清楚brew安装python3的相关目录
  • /usr/local/Cellar/python/3.7.7

    cd /usr/local/Cellar/python/3.7.7
    ll
    # 软链接
    python3 -> ../Frameworks/Python.framework/Versions/3.7/bin/python3
    
  • 实际上python3安装到以下目录

    /usr/local/Cellar/python/3.7.7/Frameworks/Python.framework/Versions/3.7
    
  • pip3安装目录

    cd /usr/local/Cellar/python/3.7.7/bin
    ll | grep -i pip
    -rwxr-xr-x@ 1 tina  admin   386B  6 26 23:49 pip3
    -rwxr-xr-x  1 tina  admin   390B  6 26 23:49 pip3.7
    
    pip3 -V
    pip 20.0.2 from /Users/tina/Library/Python/3.7/lib/python/site-packages/pip (python 3.7)
    
  • pip3安装的包所在目录

    cd /usr/local/lib/python3.7/site-packages
    ll
    
  1. 搞清楚系统预装python的目录
  • /usr/bin/目录中的python是系统预装的python

    cd /usr/bin
    ll | grep -i python
    # 软链接
    python -> ../../System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7
    

    也就是说系统安装的 python 路径是:/System/Library/Frameworks/Python.framework/Versions/2.7

    brew安装的python跟系统目录结构很类似

  • pip2安装目录

    cd /usr/local/bin
    ll | grep -i pip
    
    pip2 -V
    pip 20.1.1 from /Library/Python/2.7/site-packages/pip (python 2.7)
    
  • pip2安装的包所在目录

    cd /Library/Python/2.7
    ll
    
  1. 搞清楚通过pkg 安装包安装的python目录

    /Library/Frameworks/Python.framework/Versions/3.8
    
  2. 其他说明
    注意:最好别采用多种方法安装,/usr/local/bin下的软链容易被破坏
    管理多版本python可参看pyenv管理多版本python(推荐)

参考