/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Утанавливаем rbenv:
$ brew install rbenv ruby-build
Добавляем rbenv в bash, что бы он запускался с каждым запуском консоли:
$ echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile
$ source ~/.bash_profile
rbenv install 2.4.2
rbenv global 2.4.2
ruby -v
Настраиваем git:
$ brew install git
$ git config --global color.ui true
$ git config --global user.name "YOUR NAME"
$ git config --global user.email "[email protected]"
$ ssh-keygen -t rsa -C "[email protected]"
Копируем сгенерированый ключ и отправляем его тому, кто может добавить ключ на сервер для деплоя:
$ cat ~/.ssh/id_rsa.pub
Проверяем, что работает
$ ssh -T [email protected]
Должно быть так:
Hi [USERNAME]! You've successfully authenticated, but GitHub does not provide shell access.
$ gem install rails -v 5.1.4
$ rbenv rehash
Проверяем:
$ rails -v
$ brew install postgresql
Чтобы запустить
$ brew services start postgresql
Чтобы остановить
$ brew services stop postgresql
Чтобы не писать такие длинные команды каждый раз можно сделать для них алиасы в .bash_profile (чуть ниже)
По умолчанию для подключения к postgresql нужно использовать user c таким же юзернеймом как OS X юзернейм, пароль не нужен
Помимо всего этого нам потребуется:
Redis:
$ brew install redis
Sphinx:
$ brew install sphinx --mysql --pgsql
Node:
$ brew install node
Yarn:
$ brew install yarn
Дополнительноб просто для удобства:
автокомплит по командам гита
https://github.com/bobthecow/git-flow-completion
Вот так выглядит мой bash_profile:
if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi
# Aliases
alias pg-start='brew services start postgresql'
alias pg-stop='brew services stop postgresql'
alias bu='bundle exec'
export TERM=xterm-color
export CLICOLOR=1
export LSCOLORS=fxfxcxdxbxegedabagacad
# Константы цветов
COLOR_YELLOW="\[\e[33;10m\]"
COLOR_RED="\[\e[31;10m\]"
COLOR_GREEN="\[\e[32;10m\]"
COLOR_BLUE="\[\e[36;10m\]"
COLOR_NONE="\[\e[0m\]"
COLOR_NONEP="\[\e[38;0m\]"
# Статус репозитория
git_dirty_flag() {
git status 2> /dev/null | grep -c : | awk '{if ($1 > 0) print "‚ö°"}'
}
# Ветка
parse_git_branch() {
git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ \1/'
}
prompt_func() {
prompt="${COLOR_NONE}\w${COLOR_GREEN}$(parse_git_branch)${COLOR_YELLOW}$(git_dirty_flag)${COLOR_NONEP}"
if test $? -eq 0
then
PS1="${prompt}${COLOR_NONEP}${COLOR_NONE} "
else
PS1="${prompt}${COLOR_RED}${COLOR_NONE} "
fi
}
PROMPT_COMMAND=prompt_func
if [ -f $(brew --prefix)/etc/bash_completion ]; then
. $(brew --prefix)/etc/bash_completion
fi