安裝

Phoenix 框架是用 Elixir編寫的,Elixir 本身基於 Erlang語言,並利用 Erlang VM,以執行低延遲,分散式和容錯系統而聞名。使用 phoenix 框架需要兩種語言。按照以下步驟安裝 phoenix 框架:

1. 在你的機器上安裝 Elixir 。請參閱 Elixir 安裝以及如何安裝 Elixir 指南

2.安裝 Hex 包管理器。 Hex 是執行 Phoenix 應用程式並安裝我們可能需要的任何額外依賴項的必要工具。在終端或命令控制視窗中,鍵入:

$ mix local.hex

如果已有,此命令將安裝或更新 Hex。

3. 在你的計算機上安裝 Erlang 。沒有 Erlang,Elixir 程式碼將無法編譯,因為 Elixir 使用 Erlang 的 VM 進行程式碼編譯。當你安裝 Elixir 時,你可能也安裝了 Erlang,但如果不是這樣的話,請按照 Elixir 指南中的這些說明安裝 Erlang。但是,如果你有基於 Debian 的系統,則可能需要顯式安裝 Erlang。

$ wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb && sudo dpkg -i erlang-solutions_1.0_all.deb
$ sudo apt-get update
$ sudo apt-get install esl-erlang

4. 在你的機器上安裝 phoenix 框架。一旦我們有了 Elixir 和 Erlang,我們就可以安裝 Phoenix Mix 檔案了。Mix 檔案是一個 Zip 檔案,其中包含一個應用程式及其編譯的 BEAM 檔案。它與應用程式的特定版本相關聯。存檔是我們將用於生成我們可以構建的新的基本鳳凰應用程式的內容。這是安裝 Phoenix 存檔的命令:

$ mix archive.install https://github.com/phoenixframework/archives/raw/master/phoenix_new.ez

如果上面的命令無法正常工作,你可以手動下載軟體包。將軟體包下載到檔案系統 Phoenix 歸檔並執行以下命令

mix archive.install /path/to/local/phoenix_new.ez

5 Plug,Cowboy 和 Ecto 是 Phoenix 框架的元件,它們將通過 mix 自動安裝,如果你讓 mix 安裝它的依賴項,那麼你將首先建立 Phoenix 專案。此外,如果你不允許混合下載這些元件,那麼 mix 會告訴你稍後該怎麼做。

6. 在你的計算機上安裝 Node.js (不低於 v5.0.0)。這是一個可選的依賴項。 Node.js 是安裝 brunch.io 依賴項所必需的。鳳凰城使用 Brunch.io 來編譯靜態資產(javascript,css 等),預設情況下。

我們可以從 Node.js 的下載頁面 。選擇要下載的軟體包時,請務必注意 Phoenix 需要 5.0.0 或更高版本。

Mac OS X 使用者也可以通過安裝的 node.js 自制

注意:io.js 是一個最初基於 Node.js 的 npm 相容平臺,不知道與 Phoenix 合作。

Debian / Ubuntu 使用者可能會看到如下錯誤:

sh: 1: node: not found
npm WARN This failure might be due to the use of legacy binary "node"

這是因為 Debian 節點的二進位制檔案存在衝突:請參閱關於以下 SO 問題的討論

無法在 Ubuntu 中使用節點包管理器安裝包

有兩種方法可以解決此問題:

安裝 nodejs-legacy:

$ apt-get install nodejs-legacy

或建立符號連結

$ ln -s /usr/bin/nodejs /usr/bin/node

7 在你的計算機上安裝資料庫PostgreSQL )。Phoenix 預設配置應用程式使用它,但我們可以在建立新應用程式時通過傳遞 --database mysql 標誌來切換到 MySQL 。PostgreSQL wiki 具有許多不同系統的安裝指南

Postgrex 是一個直接的 Phoenix 依賴項,它將用於建立模型。當你建立和啟動 Phoenix 專案時, Postgrex 將與其餘依賴項一起自動安裝。

8 inotify-tools (適用於 linux 使用者)這是一個僅限 Linux 的檔案系統觀察程式,Phoenix 用於實時程式碼重新載入。 (Mac OS X 或 Windows 使用者可以安全地忽略它。)

Linux 使用者需要安裝此依賴項。有關特定於發行版的安裝說明,請參閱 inotify-tools wiki