MacOS PHP 开发环境配置
42

鄙人有病,经常会脑子发热重装系统,所以经常面临重装开发环境的窘境,不过好在我有 HomebrewValet 。哈哈,至于为什么我没有做成 Shell 。还不是因为我 Shell 没太会么。

1. 安装 Xcode command line tools

xcode-select --install

2. 安装 Homebrew

安装 Homebrew 之前,必须先安装 Xcode Command Line Tools。

在 terminal 中运行下面的命令,进行 homebrew 的安装:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

下来,我们需要做一件事让通过 Homebrew 安装的程序的启动链接(/usr/local/bin)可以直接运行,无需将完整路径写出。通过以下命令将 /usr/local/bin 添加到$PATH 环境变量中:

echo 'export PATH="/usr/local/bin:$PATH"' >> ~/.bash_profile

Cmd+T 打开一个新的 terminal 标签页,运行以下命令,确保 brew 运行正常。

brew doctor

安装完成后,Homwbrew 会将本地 /usr/local 初始化为 git 的工作树,并将目录所有者变更为当前所操作的用户,将来 brew 的相关操作不需要 sudo 。

2.1 配置brew源

因为brew源的问题,可以修改为国内coding源。这里大家也可以参考刚看的文章中的更换阿里源

cd "$(brew --repo)" && git remote set-url origin https://git.coding.net/homebrew/homebrew.git

cd $home && brew update

2.2 brew 使用命令

安装一个包,可以简单的运行:

brew install <package_name>

更新 Homebrew 在服务器端上的包目录:

brew update

查看你的包是否需要更新:

brew outdated

更新包:

brew upgrade <package_name>

Homebrew 将会把老版本的包缓存下来,以便当你想回滚至旧版本时使用。但这是比较少使用的情况,当你想清理旧版本的包缓存时,可以运行:

brew cleanup

查看你安装过的包列表(包括版本号):

brew list --versions

3. 使用 Homebrew Cask安装软件

为什么使用 Homebrew 安装软件?

  1. 步骤简洁,直接一行命令就可以了。
  2. 方便管理,可以批量进行升级,免去一个个去检查更新。

3.1 文件预览插件

有些 插件 可以让 Mac 上的文件预览更有效,比如语法高亮、markdown 渲染、json 预览等等。

brew cask install qlcolorcode qlstephen qlmarkdown quicklook-json qlprettypatch quicklook-csv  webpquicklook #suspicious-package

3.2 常用软件

# 开发软件
brew cask install shadowsocksx-ng 
brew cask install iterm2
brew cask install phpstorm  
brew cask install visual-studio-code    
brew cask install sublime-text  
brew cask install sourcetree    
brew cask install filezilla 
brew cask install sequel-pro 
brew cask install dash  
brew cask install typora 

# 下载第三方应用
brew cask install sogouinput    
brew cask install qq 
brew cask install iina  
brew cask install dingtalk  
brew cask install alfred    
brew cask install appcleaner    
brew cask install cheatsheet    
brew cask install onedrive  
brew cask install google-chrome     
brew cask install youdaodict    
brew cask install youdaonote    
brew cask install microsoft-office  
brew cask install snipaste  
brew cask install aliwangwang   
brew cask install mos   
brew cask install jietu 
brew cask install neteasemusic  
brew cask install youku 
brew cask install qqlive

3.3 开发环境

个人喜欢 Valet,因为无脑= =。

# php
brew install php
# mysql
brew install mysql@5.7
# nginx
brew install nginx
# dnsmasq
brew install dnsmasq
# composer
brew install composer
# 也可以使用下面的原始安装composer
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
# redis
brew install redis

# 安装 laravel
composer global require "laravel/installer"

# 安装 valet
composer global require laravel/valet   #确保 ~/.composer/vendor/bin 目录位于系统的「PATH」中

# 如果报错执行下面的命令
export PATH="$PATH:$HOME/.composer/vendor/bin"
valet install # 运行 valet install 命令来配置和安装 Valet 和 DnsMasq,并注册 Valet 后台随机启动。

# 创建工作区
mkdir ~/Codes
cd ~/Codes
valet park

# 如果遇到  Unable to determine linked PHP. 错误,执行下面的关联对应版本
brew link --force php@7.1

此外你还可以通过 brew cask 安装 launchrocket,来管理通过 brew 安装的 service

brew cask install launchrocket

4. iterm2 配置

ZSH安装可以看这里

# 检查 zsh 版本
zsh --version
# 检查终端默认 shell 期待 /bin/zsh
echo $SHELL

可以在安装homebrew之前,检查一下zsh的版本,如果版本比较新就不用管,如果比较旧则可以用brew install zsh 安装一下。

brew install zsh-completions

安装 oh-my-zsh

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

如果要使用什么插件,需要在 ~/.zshrc 文件中进行添加。

subl ~/.zshrc

安装字体

git clone https://github.com/powerline/fonts.git --depth=1
cd fonts
./install.sh
cd ..
rm -rf fonts

.zshrc 修改代码。

ZSH_THEME="agnoster"

隐藏前面的主机名,在 .zshrc 下面添加下面的代码。

prompt_context () { }

隐藏前面的用户名在 .zshrc 下面添加下面的代码。

DEFAULT_USER="username"

隐藏第一行

touch ~/.hushlogin
#移除
rm ~/.hushlogin

插件安装

# zsh-autosuggestions 自动补全
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

# zsh-syntax-highlighting 语法高亮
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

plugins=(zsh-autosuggestions zsh-syntax-highlighting)

source ~/.zshrc

5. 终端ss配置

配置 subl命令,使用 sublime 打开文件,也可以使用 ~/.zshrc

ln -s "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl

subl ~/.bash_profile

vi ~/.bash_profile

~/.bash_profile 文件下添加下面的代码:

export http_proxy=http://127.0.0.1:1087;
export https_proxy=http://127.0.0.1:1087;

下面是定义的开关方法。在终端直接输入方法名就可以生效。

function ss_off(){
    unset http_proxy  # 如果不想设置方法,则单独执行这两句就可以删除配置的环境变量
    unset https_proxy
    echo -e "已关闭代理"
}

function ss_on() {
    export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"
    export http_proxy="http://127.0.0.1:1087" # 这里也是端口号
    export https_proxy=$http_proxy
    echo -e "已开启代理"
}

刷新环境

source ~/.bash_profile

开启

ss_off

检查是否生效

curl ip.cn

6. Git ssh的配置和使用

6.1 设置 Git 的 user name 和 email:(如果是第一次的话)

git config --global user.name "****"
git config --global user.email "***@**.com"

查看配置信息

# 查看本地全局用户配置信息
git config --global  --list

6.2 生成密钥

ssh-keygen -t rsa -C "***@**.com"       

6.3 拷贝密钥到 github

cat ~/.ssh/id_rsa.pub

6.4 测试

ssh -T git@github.com

7. 常用软件配置

7.1 Shadowsocks

在偏好配置的网络接口中 忽略这些主机和域的代理设置 中添加:

127.0.0.1, localhost, 192.168.0.0/16, 10.0.0.0/8, FE80::/64, ::1, FD00::/8,localhost.test,account.jetbrains.com

这里把本地需要访问的域名全部加进去,这样开启全局的时候就不会走ss。这里大家无视我最后加的一个phpstorm的= =大家明白就好。

7.2 PhpStorm

在Github创建一个用于phpstorm配置的仓库,然后通过下面的方法备份和同步。

File->Settings Repository 中输入git仓库地址,然后点击覆盖远程和本地来选择同步方式。

同步完设置后,安装常用的扩展包:

  • Laravel Plugin
  • Material Theme UI
  • Translation
  • Dash

暂时就这么多,以后有增加会继续更新,大家如果有更好的方式可以推荐我。至于 Homestead 其实也不错,不过开发过程中,修改后访问页面会有延迟,网站打开都卡卡的。当然,Homestead 有一个好的,就是不存在大小写问题。哈哈!!这个没办法。坑过。

本帖由系统于 3周前 自动加精
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 6
Nick

Homebrewphp不是不维护了吗?更换源就可以?

3周前
Soldoros

coding 的源比起中科大的怎么样,之前还真不知道 coding 也有源

3周前

@Soldoros 我没怎么用国内的源,我一般都是配置 ss 然后用原来的源。

3周前

@Nick 啊。。这个我还真的不知道。我目前安装好后 php 版本是 7.2.11

3周前

很详细了

3周前

:thumbsup:

3周前

  • 请注意单词拼写,以及中英文排版,参考此页
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 Emoji 自动补全来咯,可用的 Emoji 请见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!