Начало работы
Исходный кодСоздать новое приложение Phoenix можно двумя способами: с помощью экспресс-установки, доступной в некоторых ОС, или с помощью mix phx.new. Давайте посмотрим, как это работает.
Phoenix Express
Одной команды достаточно, чтобы запустить приложение за считаные секунды:
Для macOS/Ubuntu:
$ curl https://new.phoenixframework.org/myapp | sh
Для Windows PowerShell:
curl.exe -fsSO https://new.phoenixframework.org/myapp.bat; .\myapp.bat
Приведённая выше команда установит Erlang, Elixir и Phoenix, а также создаст новое приложение Phoenix. Она также автоматически выберет PostgreSQL или MySQL в качестве базы данных, а если ни одна из них недоступна — переключится на SQLite. После выполнения команды будет открыто приложение Phoenix с инструкциями, необходимыми для завершения установки. Обратите внимание: имя приложения Phoenix берётся из пути.
Если ваша операционная система не поддерживается или приведённая выше команда завершилась ошибкой, не беспокойтесь! Вы всё равно можете создать приложение Phoenix с помощью mix phx.new.
С помощью mix phx.new
Чтобы создать новое приложение Phoenix, необходимо установить Erlang, Elixir и Phoenix. Дополнительную информацию см. в руководстве по установке. Если вы делитесь приложением с кем-либо, этому человеку также нужно выполнить шаги из руководства по установке, чтобы всё настроить.
Когда всё будет готово, запустите mix phx.new из любого каталога, чтобы создать каркас приложения Phoenix. Для каталога нового проекта Phoenix принимает как абсолютный, так и относительный путь. Предположим, что наше приложение называется hello. Выполним следующую команду:
$ mix phx.new hello
По умолчанию
mix phx.newвключает ряд дополнительных зависимостей, например:
Ecto для работы с хранилищем данных, например PostgreSQL, MySQL и другими. Чтобы пропустить его установку, используйте
--no-ecto.Phoenix.HTML, TailwindCSS и Esbuild для HTML-приложений. Чтобы пропустить их установку, используйте флаги
--no-htmlи--no-assets.Phoenix.LiveView для создания интерактивных веб-приложений с обменом данными в реальном времени. Чтобы пропустить его установку, используйте
--no-live.Выполните
mix help phx.new, чтобы узнать обо всех параметрах.
mix phx.new hello * creating hello/config/config.exs * creating hello/config/dev.exs * creating hello/config/prod.exs ... Fetch and install dependencies? [Yn]
Phoenix создаёт структуру каталогов и все файлы, необходимые для приложения.
Phoenix рекомендует использовать Git в качестве системы контроля версий: среди созданных файлов есть
.gitignore. Мы можемgit initнаш репозиторий и сразу добавить и зафиксировать все файлы, не помеченные как игнорируемые.
После завершения приложение спросит, установить ли зависимости. Ответим утвердительно.
Fetch and install dependencies? [Yn] Y
* running mix deps.get
* running mix assets.setup
* running mix deps.compile
We are almost there! The following steps are missing:
$ cd hello
Then configure your database in config/dev.exs and run:
$ mix ecto.create
Start your Phoenix app with:
$ mix phx.server
You can also run your app inside IEx (Interactive Elixir) as:
$ iex -S mix phx.server
После установки зависимостей задача предложит перейти в каталог проекта и запустить приложение.
Phoenix предполагает, что в PostgreSQL есть учётная запись пользователя postgres с необходимыми разрешениями и паролем "postgres". Давайте проверим.
Сначала перейдём в каталог hello/, который только что создали, с помощью команды cd:
$ cd hello
Теперь создадим базу данных:
$ mix ecto.create Compiling 13 files (.ex) Generated hello app The database for Hello.Repo has been created
Если создать базу данных не удалось, обратитесь к разделу Ecto о задачах Mix или выполните mix help ecto.create.
Наконец, запустим сервер Phoenix:
$ mix phx.server [info] Running HelloWeb.Endpoint with Bandit 1.5.7 at 127.0.0.1:4000 (http) [info] Access HelloWeb.Endpoint at http://localhost:4000 [watch] build finished, watching for changes... ...
Если при создании нового приложения мы решили не поручать Phoenix установку зависимостей, задача mix phx.new предложит выполнить необходимые действия, когда мы решим их установить.
Fetch and install dependencies? [Yn] n
We are almost there! The following steps are missing:
$ cd hello
$ mix deps.get
Then configure your database in config/dev.exs and run:
$ mix ecto.create
Start your Phoenix app with:
$ mix phx.server
You can also run your app inside IEx (Interactive Elixir) as:
$ iex -S mix phx.server
По умолчанию Phoenix принимает запросы на порту 4000. Если открыть в любимом браузере адрес http://localhost:4000, должна появиться приветственная страница Phoenix Framework.

Если ваш экран выглядит так же, как на изображении выше, поздравляем! Теперь у вас есть работающее приложение Phoenix. Если страница выше не отображается, попробуйте открыть её по адресу http://127.0.0.1:4000, а затем убедитесь, что в настройках ОС «localhost» сопоставлен с «127.0.0.1».
Чтобы остановить приложение, нажмите ctrl-c дважды.
Теперь вы готовы исследовать мир Phoenix! Книги, видеоруководства, курсы и многое другое можно найти на странице нашего сообщества.
Также можно продолжить чтение этих руководств, чтобы быстро ознакомиться со всеми составляющими приложения Phoenix. Если вы выберете этот вариант, руководства можно читать в любом порядке или начать с руководства, в котором объясняется структура каталогов Phoenix.
© 2014 Chris McCord
Licensed under the MIT License.
https://phoenix.hexdocs.pm/up_and_running.html