117 lines
7.4 KiB
Markdown
117 lines
7.4 KiB
Markdown
|
---
|
|||
|
title: How to Install the Mean Stack on Mac Osx
|
|||
|
localeTitle: Как установить средний стек на Mac Osx
|
|||
|
---
|
|||
|
Чтобы установить MongoDB, вы должны иметь Mac OS X 10.6 (Snow Leopard) или выше. Чтобы узнать, какая версия ОС X у вас есть, щелкните значок в левом верхнем углу экрана и выберите « `About This Mac` .
|
|||
|
|
|||
|
![:warning:](//forum.freecodecamp.com/images/emoji/emoji_one/warning.png?v=2 ":предупреждение:") **ПРЕДУПРЕЖДЕНИЕ:** выполните резервное копирование Time Machine перед выполнением любого из следующих шагов!
|
|||
|
|
|||
|
## Шаг 1: установка MongoDB
|
|||
|
|
|||
|
Самый простой способ установки MongoDB на OS X - использовать [HomeBrew](http://brew.sh/) . Если вы раньше не использовали HomeBrew, просто выполните следующую команду в окне терминала:
|
|||
|
```
|
|||
|
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
|
|||
|
```
|
|||
|
|
|||
|
После того, как HomeBrew успешно установлен, выполните следующую команду:
|
|||
|
```
|
|||
|
brew update && brew install mongodb
|
|||
|
```
|
|||
|
|
|||
|
HomeBrew автоматически установит все зависимости для вас.
|
|||
|
|
|||
|
## Шаг 2: установка Node.js
|
|||
|
|
|||
|
Опять же, мы позволим HomeBrew сделать тяжелый подъем:
|
|||
|
```
|
|||
|
brew install node
|
|||
|
```
|
|||
|
|
|||
|
Исполняемый файл npm уже включен в пакет Node.js.
|
|||
|
|
|||
|
Прежде чем продолжить, давайте проверим, что модули Node.js могут быть найдены другими пользователями ( ![:warning:](//forum.freecodecamp.com/images/emoji/emoji_one/warning.png?v=2 ":предупреждение:") **ВНИМАНИЕ** : лучше всего скопировать и вставить эти команды, так как вы потеряете исходное содержимое своего `.bashrc` файла, если вы введете `>` вместо `>>` ):
|
|||
|
```
|
|||
|
echo 'export NODE_PATH="./node_modules:/usr/local/lib/node_modules"' >> ~/.bashrc && source ~/.bashrc
|
|||
|
```
|
|||
|
|
|||
|
Чтобы проверить, действует ли конфигурация, выполните:
|
|||
|
```
|
|||
|
echo $NODE_PATH
|
|||
|
```
|
|||
|
|
|||
|
Вы должны увидеть `./node_modules:/usr/local/lib/node_modules` напечатанный ниже вашей команды.
|
|||
|
|
|||
|
Если вы используете другую оболочку, чем Bash, просто замените `~/.bashrc` файлом конфигурации оболочки.
|
|||
|
|
|||
|
## Шаг 3: установка инструментов fullstack
|
|||
|
```
|
|||
|
npm install -g express yo grunt grunt-cli generator-angular-fullstack bower
|
|||
|
```
|
|||
|
|
|||
|
## Шаг 4: создание приложения fullstack
|
|||
|
|
|||
|
Создайте каталог для проектов Back End Project. Предполагая, что ваш рабочий стол - ваше рабочее пространство де-факто:
|
|||
|
```
|
|||
|
mkdir ~/Desktop/Back End Projects && cd ~/Desktop/Back End Projects
|
|||
|
```
|
|||
|
|
|||
|
Теперь, когда все приготовления на месте, пришло время для главного события:
|
|||
|
```
|
|||
|
yo angular-fullstack
|
|||
|
```
|
|||
|
|
|||
|
Ответьте на вопросы в соответствии с элементами контрольного списка \# 13-23 [Challenge: Get Set for Back End Projects](http://www.freecodecamp.com/challenges/get-set-for-our-back-end-development-projects) . Проконсультируйтесь с № 24-27, если вы столкнулись с ошибками. Это будет загружать файлы размером ~ 350 МБ в ваш текущий каталог.
|
|||
|
|
|||
|
Прежде чем идти дальше, нам нужно исправить [известную проблему](https://github.com/clnhll/guidetobasejumps#fixing-exportsupdate) в некоторых сгенерированных файлах:
|
|||
|
```
|
|||
|
echo "sed -i '' -e 's/_.merge/_.extend/' server/api/*/*.controller.js" > \
|
|||
|
fix-exports-update.sh && chmod +x fix-exports-update.sh && \
|
|||
|
./fix-exports-update.sh
|
|||
|
```
|
|||
|
|
|||
|
Вам нужно запустить `./fix-exports-update.sh` каждый раз, когда вы создаете новую конечную точку API (до тех пор, пока они не исправят этот восходящий `./fix-exports-update.sh` , то есть).
|
|||
|
|
|||
|
## Шаг 5: инициализация локального репозитория Git
|
|||
|
|
|||
|
Скажите Git, чтобы не отслеживать вашу базу данных:
|
|||
|
```
|
|||
|
echo "data" >> .gitignore
|
|||
|
```
|
|||
|
|
|||
|
Поверните каталог, в котором ваше приложение находится в репозитории Git, выполнив следующие команды:
|
|||
|
```
|
|||
|
git init && git add . && git commit -am 'initial commit'
|
|||
|
```
|
|||
|
|
|||
|
## Шаг 6: запуск MongoDB
|
|||
|
|
|||
|
Чтобы запустить MongoDB в первый раз в каталоге вашего приложения, выполните следующие команды в своем терминале:
|
|||
|
```
|
|||
|
mkdir data && echo 'mongod --config /usr/local/etc/mongod.conf --dbpath=data --rest "$@" --httpinterface' > mongod.sh && chmod a+x mongod.sh && ./mongod.sh
|
|||
|
```
|
|||
|
|
|||
|
С этого момента вы можете просто запустить MongoDB, выполнив `./mongod.sh` . Несколько замечаний:
|
|||
|
|
|||
|
* Файл `.conf` направляет `mongod` для записи сообщений в файл журнала вместо stdout. Чтобы просмотреть журнал, выполните следующую команду на отдельной вкладке терминала: `less /usr/local/var/log/mongodb/mongo.log` .
|
|||
|
* Поскольку мы не на Cloud9, нам не нужен параметр `--nojournal` . Журналирование позволяет восстановить базу данных в случае `mongod` .
|
|||
|
* Вы должны создать чистую базу данных для каждого проекта. Если вы скопировали каталог `data` из более раннего проекта, `mongod` не запустится. Если это так, просто `rm -rf data && mkdir data && ./mongod.sh` .
|
|||
|
|
|||
|
## Шаг 7: запуск Grunt
|
|||
|
|
|||
|
Откройте новую вкладку терминала, нажав `⌘T` , и выполните следующую команду:
|
|||
|
```
|
|||
|
grunt serve
|
|||
|
```
|
|||
|
|
|||
|
Grunt автоматически откроет новую страницу индекса Angular Site, как только она закончит запуск.
|
|||
|
|
|||
|
Теперь вы должны быть в состоянии следовать остальным инструкциям Challenge, чтобы нажать на GitHub и Heroku. Просто проигнорируйте часть ключа SSH (# 33-36) и замените `~/workspace` на путь вашего каталога приложения.
|
|||
|
|
|||
|
## сноска
|
|||
|
|
|||
|
Вышеуказанные этапы были протестированы в следующей конфигурации:
|
|||
|
|
|||
|
* OS X 10.10.5
|
|||
|
* zsh 5.0.8 (x86\_64-apple-darwin14.3.0)
|
|||
|
* узел v0.12.7
|
|||
|
* npm 2.11.3
|