个人macOS工作区设置

个人macOS工作区设置

这是我用于Web开发的个人macOS工作区设置。 如果您想安装最新技术并保持最新状态,请按照我的指南进行操作,您将比以往任何时候都更喜欢使用macOS计算机。

由于本指南基于个人喜好,因此该帖子将保持最新状态。

经过测试并在macOS High Sierra版本10.13.5上工作

介绍

我将假定您具有全新的macOS安装。 我们将一起完成每个步骤和安装过程。 不会有错误! 如果您对学习不感兴趣,请在阅读本文时随意复制和粘贴命令。

装置

顺序非常重要,因此请遵循每个步骤,除非您知道自己在做什么。

Xcode

Xcode是用于macOS的集成开发环境,其中包含由Apple开发的一套软件开发工具,用于开发用于macOS,iOS,watchOS和tvOS的软件。
资料来源: *

我们必须从Xcode开始,但是我们不需要完整的应用程序。
相反,我们将仅安装命令行工具。

安装

xcode-select --install

塔达

我们已经完成了。 这个没有更多的东西了。 移至下一个…

家酿

Homebrew是一个免费的开源软件包管理系统,可简化Apple macOS操作系统上软件的安装。
资料来源: *

安装

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

储存库

declare -a taps=(
'buo/cask-upgrade'
'caskroom/cask'
'caskroom/versions'
'homebrew/bundle'
'homebrew/core'
)

for tap in "${taps[@]}"; do
brew tap "$tap"
done

升级和更新

brew upgrade && brew update

塔达

我们已经完成了,但是我将在下面添加命令的精选列表。 它们非常有用,您可能需要记住其中一些日常使用。

提示 —要了解有关每个命令及其用法的更多信息,请输入brew help [COMMAND]命令,它将显示有关特定命令及其具有的每个标志的所有详细信息。如果您想了解更多信息,请参阅命令的完整列表

自制酒桶

扩展Homebrew,并为GUI macOS应用程序的安装和管理带来优雅,简单和快速。
来源: GitHub存储库

安装

brew install cask

应用程序和安装清单
我强烈建议您列出自己的个人名单。 这是我的...

declare -a cask_apps=(
‘1password’
‘adobe-creative-cloud’
‘alfred’
‘authy’
‘bartender’
‘droplr’
‘expressv*n’
‘flume’
‘gitkraken’
‘google-backup-and-sync’
‘google-chrome’
‘iterm2-nightly’
‘keepingyouawake’
‘postman’
‘screenflow’
‘sip’
‘skype’
‘slack’
‘sublime-text’
‘sequel-pro’
‘transmit’
)

for app in "${cask_apps[@]}"; do
brew cask install "$app"
done

塔达

我们已经完成了,但是我将在下面添加命令的精选列表。 它们非常有用,您可能需要记住其中一些日常使用。

Mas CLI

Mac App Store的简单命令行界面。 专为脚本和自动化而设计。
来源: GitHub存储库

安装

brew install mas

应用程序和安装清单
我强烈建议您列出自己的个人名单。 这是我的...

declare -a mas_apps=(
'824183456' # Affinity Photo
'824171161' # Affinity Designer
'918858936' # Airmail 3
'1091189122' # Bear
'736584830' # Folx GO
'775737590' # iA Writer
'441258766' # Magnet
'1063631769' # Medis
'967805235' # Paste
'583827028' # WinZip
)

for app in "${mas_apps[@]}"; do
mas install "$app"
done

塔达

我们已经完成了,但是我将在下面添加命令的精选列表。 它们非常有用,您可能需要记住其中一些日常使用。

Z壳

一个Unix shell,可用作交互登录shell和强大的shell脚本命令解释器。
资料来源: *

安装
我们将安装几个扩展程序以及一个外壳。

brew install zsh zsh-completions zsh-autosuggestions zsh-syntax-highlighting

由于我们仍处于安装阶段,因此最好也安装Oh My Zsh

它捆绑了许多有用的功能,助手,插件,主题以及一些让您大喊大叫的东西……

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

组态
无需编辑.zshrc文件,我们将制作自己的文件,然后将其指向主要配置文件的源。

创建一个文件并在编辑器中打开它:

touch ~/.my-zshrc && bash -c 'exec env ${EDITOR:=nano} ~/.my-zshrc'

复制/粘贴以下内容:

# Load extensions
source /usr/local/share/zsh-autosuggestions/zsh-autosuggestions.zsh
source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
# Activate plugins
plugins=(git zsh-completions)
# Custom vars
SPARK=$HOME/.spark-installer
COMPOSER=$HOME/.composer/vendor/bin
LOCAL_NODE_BIN=node_modules/.bin
# Custom paths
PATH=/usr/local/sbin:$PATH
PATH=$SPARK:$PATH
PATH=$COMPOSER:$PATH
PATH=$LOCAL_NODE_BIN:$PATH
# Set default editor
export EDITOR='subl -w'
# Load my aliases
if [ -f ~/.aliases ]; then
. ~/.aliases
fi
# Load my functions
if [ -f ~/.functions ]; then
. ~/.functions
fi
local ret_status="%(?:%{$fg_bold[green]%}△ :%{$fg_bold[red]%}▽ )"
PROMPT='${ret_status} %{$fg[cyan]%}%c%{$reset_color%} $(git_prompt_info)'

将我们的自定义配置文件的源追加到Z Shell主配置文件中:

echo ". ~/.my-zshrc" >> "$HOME/.zshrc"

别名
这是完全可选的。 我个人使用了一堆别名,我发现它们非常有用。

创建一个文件并在编辑器中打开它:

touch ~/.aliases && bash -c 'exec env ${EDITOR:=nano} ~/.aliases'

复制/粘贴以下内容:

# Helpful
alias s='cd ~/Sites'
alias art='php artisan'
alias path='echo -e ${PATH//:/\\n}'
alias copy_ssh="pbcopy < $HOME/.ssh/id_rsa.pub"
alias reload="exec ${SHELL} -l"
alias afk="/System/Library/CoreServices/Menu\ Extras/User.menu/Contents/Resources/CGSession -suspend"
alias flush_dns="sudo killall -HUP mDNSResponder"
alias chdirs="find . -type d -exec chmod 755 {} \;"
alias chfiles="find . -type f -exec chmod 644 {} \;"
# Common files for editing
alias edit_hosts='subl /etc/hosts'
alias edit_httpd='subl /usr/local/etc/httpd/httpd.conf'
alias edit_vhosts='subl /usr/local/etc/httpd/extra/httpd-vhosts.conf'
alias edit_php='subl /usr/local/etc/php/7.2/php.ini'
# System
alias update='mas upgrade; brew cleanup; brew upgrade; brew update; brew cask cleanup; brew cu -a -y; composer global update; npm update -g; npm install [email protected] -g'
alias show_files='defaults write com.apple.finder AppleShowAllFiles -bool true && killall Finder'
alias hide_files='defaults write com.apple.finder AppleShowAllFiles -bool false && killall Finder'
alias show_desktop="defaults write com.apple.finder CreateDesktop -bool true && killall Finder"
alias hide_desktop="defaults write com.apple.finder CreateDesktop -bool false && killall Finder"
alias enable_gate="sudo spctl --master-enable"
alias disable_gate="sudo spctl --master-disable"
# IP
alias ip='dig +short myip.opendns.com @resolver1 .opendns.com'
# NPM
alias nom='rm -rf node_modules/ && npm cache verify && npm install'
# Github
alias wip="git add .;git commit -m 'wip'"
alias nah='git reset --hard;git clean -df'
# Composer
alias dump='composer dump-autoload -o'
# Chrome
alias kill_chrome="ps ux | grep '[C]hrome Helper --type=renderer' | grep -v extension-process | tr -s ' ' | cut -d ' ' -f2 | xargs kill"
# Dummy
alias shrug="printf '¯\_(ツ)_/¯' | pbcopy"
alias flipt="printf '(╯°□°)╯︵ ┻━┻' | pbcopy"
alias fight="printf '(ง'̀-'́)ง' | pbcopy"

功能
我不经常使用它们,但它们有时会派上用场。

创建一个文件并在编辑器中打开它:

touch ~/.functions && bash -c 'exec env ${EDITOR:=nano} ~/.functions'

复制/粘贴以下内容:

# Make directory and enter it

塔达

我们已经完成了。 这个没有更多的东西了。 移至下一个…

崇高文字

具有Python应用程序编程接口的专有跨平台源代码编辑器。
资料来源: *

包装控制
这是安装代码 ,但我认为它不再是必需的。
而是打开Sublime Text,按cmd + shift + p并键入“安装”。 它应该显示“ Install Package Control”。

配套
我有精选的软件包列表,但是当然,我不想每次重新安装macOS时都手动安装它们。

要自动安装软件包列表,请遵循以下路径:

Preferences > Package Settings > Package Control > Settings — User

用户设置将打开…用以下内容替换现有内容:

{
"bootstrapped": true,
"in_process_packages": [],
"installed_packages":
[
"A File Icon",
"AdvancedNewFile",
"ApacheConf",
"AutoFileName",
"Babel",
"BracketHighlighter",
"ColorPicker",
"DA UI",
"DocBlockr",
"EditorConfig",
"Emmet",
"GitGutter",
"HyperClick",
"JavaScript Completions",
"Laravel Blade Highlighter",
"MarkdownPreview",
"Package Control",
"Sass",
"SFTP",
"SnippetMaker",
"SublimeLinter",
"SublimeLinter-stylelint",
"Terminal",
"Vue Syntax Highlight"
]
}

重新启动该应用程序,并给它一些时间来安装指定的软件包。

组态
要设置首选项,请首先安装所需的字体。 我个人的偏好是以下之一: 运算符MonoFira Code

之后,打开Preferences > Settings或使用快捷键cmd + ,然后用以下内容替换右窗格中的内容。 确保将font_face替换为您在系统上安装的字体

{
"bold_folder_labels": true,
"color_scheme": "Packages/Color Scheme - Default/Mariana.sublime-color-scheme",
"copy_with_empty_selection": false,
"create_window_at_startup": false,
"detect_indentation": false,
"drag_text": false,
"enable_tab_scrolling": false,
"ensure_newline_at_eof_on_save": true,
"find_selected_text": true,
"folder_exclude_patterns":
[
".svn",
".git",
".hg",
"CVS",
"vendor",
"node_modules"
],
"font_face": "Operator Mono",
"font_size": 16,
"highlight_line": true,
"highlight_modified_tabs": true,
"ignored_packages":
[
"Vintage"
],
"indent_to_bracket": true,
"line_padding_bottom": 6,
"line_padding_top": 6,
"margin": 8,
"match_brackets_content": false,
"match_selection": false,
"match_tags": false,
"open_files_in_new_window": false,
"preview_on_click": false,
"shift_tab_unindent": true,
"show_full_path": false,
"theme": "DA.sublime-theme",
"translate_tabs_to_spaces": true,
"trim_trailing_white_space_on_save": true
}

塔达

我们已经完成了。 这个没有更多的东西了。 移至下一个…

阿帕奇

一个免费的开源跨平台Web服务器,根据Apache License 2.0的条款发布。
资料来源: *

Apache已捆绑在macOS中。 但是,它不是最新版本,并且始终是将所有工作区依赖性保留在Homebrew中的最佳方法。

在整个配置中,您将需要用系统用户名替换所有出现的dvlden 如果您还不知道用户名,请在终端中输入whoami以查看您的用户名。

停止和卸载系统捆绑版本

sudo apachectl stop >/dev/null
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null

安装

brew install httpd

组态

在编辑器中打开配置文件:

bash -c 'exec env ${EDITOR:=nano} /usr/local/etc/httpd/httpd.conf'

这是目录。 我希望我说得足够清楚...

动态虚拟主机的配置

在编辑器中打开配置文件:

bash -c 'exec env ${EDITOR:=nano}

用以下内容替换文件内容:

Define USER dvlden
Define PATH "/Users/${USER}/Sites"

<VirtualHost *:80>
ServerName localhost
DocumentRoot ${PATH}
</VirtualHost>

<VirtualHost *:80>
ServerAlias *.test
UseCanonicalName Off
VirtualDocumentRoot "${PATH}/%1"
</VirtualHost>

<VirtualHost *:80>
ServerAlias *.public
UseCanonicalName Off
VirtualDocumentRoot "${PATH}/%1/public"
</VirtualHost>

当我们在下面设置DNSMasq时 ,我们将能够拥有自动动态虚拟主机。

为了便于阅读,我们在~/Sites目录中创建的每个文件夹都应使用连字符小写。 将文件夹名称视为域名,不带TLD。 每个文件夹将被自动访问。 .test用于静态网站,将.public用于动态网站。 如果您使用的是类似Laravel的PHP框架,这将非常方便。 就像Laravel Valet

重新开始

sudo apachectl -e info -k restart

启动守护程序

sudo brew services start httpd

塔达

我们已经完成了,但是我将在下面添加命令的精选列表。 它们非常有用,您可能需要记住其中一些日常使用。

DNS Masq

它提供了域名系统转发器,动态主机配置协议服务器,用于小型计算机网络的路由器公告和网络启动功能,这些功能是作为免费软件创建的。
资料来源: *

我们将在动态虚拟主机配置中使用它。 然后,该软件包会将我们指定的TLD重定向到本地主机。

安装

brew install dnsmasq

组态

cat > "$(brew --prefix)/etc/dnsmasq.conf" <<EOF
address=/.test/127.0.0.1
address=/.public/127.0.0.1
EOF

启动守护程序

sudo brew services start dnsmasq

添加解析器

sudo mkdir -p /etc/resolver
sudo bash -c 'echo "nameserver 127.0.0.1" > /etc/resolver/test'
sudo bash -c 'echo "nameserver 127.0.0.1" > /etc/resolver/public'

重新启动守护程序

sudo brew services restart dnsmasq

测试一下

dig demo.test @127.0.0.1

您应该可以在输出中找到以下部分。

;; ANSWER SECTION:
demo.test. 0 IN A 127.0.0.1

的PHP

一种用于Web 开发的服务器端脚本语言,但也用作通用编程语言。
资料来源: *

PHP已捆绑在macOS中。 但是,它不是最新版本,并且始终是将所有工作区依赖性保留在Homebrew中的最佳方法。

安装

brew install php

安装作曲家
由于我们使用的是PHP,因此我们肯定会需要Composer

brew install composer

组态

在编辑器中打开配置文件:

bash -c 'exec env ${EDITOR:=nano} /usr/local/etc/php/7.2/php.ini'

这是目录。 我希望我说得足够清楚...

您可以根据自己的需要随意调整信息并上传大小…
您可以在此处找到时区: 支持的时区列表

塔达

我们已经完成了。 这个没有更多的东西了。 移至下一个…

的MySQL

开源关系数据库管理系统。 它的名称是联合创始人Michael Widenius的女儿的名字“ My”和结构化查询语言的缩写“ SQL”的组合。
资料来源: *

安装

brew install mysql

启动守护程序

brew services start mysql

配置(可选)

默认情况下,MySQL是使用用户root且没有密码安装的。 如果要配置,请继续。

mysql_secure_installation

节点JS

一个开放源代码,跨平台的JavaScript运行时环境,在服务器端执行JavaScript代码。
资料来源: *

安装

brew install node

NPM

JavaScript编程语言的程序包管理器。 它是JavaScript运行时环境Node.js的默认包管理器。
资料来源: *

Node JS与NPM捆绑在一起,因此它将随它一起安装。除了选择安装一些全局软件包以外,我们在这里没有其他事情。

全局软件包安装
如果您使用的是Vue JS ,也许想使用一个史诗般的软件包来使您的项目依赖项保持最新,请选中NPM Check Updates

npm install -g npm-check @vue/cli

塔达

我们已经完成了,但是我将在下面添加命令的精选列表。 它们非常有用,您可能需要记住其中一些日常使用。

要了解有关每个命令及其用法的更多信息,请输入npm help [COMMAND]命令,它将显示有关特定命令及其具有的每个标志的所有详细信息。如果您想了解更多信息,请参见命令的完整列表

吉特

一个版本控制系统,用于跟踪计算机文件中的更改并在多人之间协调这些文件的工作。
资料来源: *

安装

brew install git

组态

确保用您的个人详细信息替换姓名和电子邮件。

git config --global user.name "Nenad Novaković"
git config --global user.email "*.******@gmail.com"
git config --global core.editor "subl -n -w"
git config --global color.ui true

我使用https作为身份验证,因此我将以下额外的行添加到配置中。

git config --global credential.helper osxkeychain

如果使用的是ssh身份验证,则可以通过以下方式进行设置:

# Generate key
ssh-****** -t rsa -C "*.******@gmail.com"

# Copy key
cat ~/.ssh/id_rsa.pub | pbcopy

# Add to Github
[Github SSH keys](https://github.com/settings/ssh)

# Test connection
ssh -T [email protected]

# > Hi dvlden! You've successfully authenticated, but GitHub does not provide shell access.

塔达

我们已经完成了,但是我将在下面添加命令的精选列表。 它们非常有用,您可能需要记住其中一些日常使用。

要了解有关每个命令及其用法的更多信息,请输入git help [COMMAND]命令,它将显示有关特定命令及其具有的每个标志的所有详细信息。如果您想了解更多信息,请参见命令的完整列表

最后说明

这可能是我放入“ .dot文件”的好地方。
如果您有兴趣编写自己的Shell来自动化我编写的所有此过程以及更多内容,请随时查看此GitHub Repository

如果需要(在干净的macOS安装上)尝试一下,但是我强烈建议您先查看所有文件,然后再编写自己的文件。

直到下一次

如果您喜欢它并学到了一些新东西,请分享一些爱。
为此,请点击拍手图标????或按住它以获得更多拍手! ????????????

非常感激。 你是最好的!

如果您正在考虑跟随我:
InstagramTwitter中等GitHub

From: https://hackernoon.com/personal-macos-workspace-setup-adf61869cd79