サーチ…


備考

このセクションではphoenix-frameworkの概要と、なぜ開発者がそれを使いたいのかを概説します。

phoenix-framework内の大きなテーマについても言及し、関連するトピックにリンクする必要があります。 phoenix-frameworkのドキュメンテーションは新しいので、それらの関連トピックの初期バージョンを作成する必要があります。

バージョン

バージョン発売日
0.1.1 2014-05-01
0.2.0 2014-05-01
0.2.1 2014-05-01
0.2.2 2014-06-05
0.2.3 2014-05-05
0.2.10 2014-05-22
0.2.11 2014-06-30
0.3.0 2014-07-01
0.3.1 2014-07-05
0.4.0 2014-08-31
0.4.1 2014-09-09
0.5.0 2014-10-14
0.6.0 2014-11-22
0.6.1 2014-11-30
0.6.2 2014-12-08
0.7.0 2014年12月10日〜10日
0.7.1 2014年12月10日〜10日
0.7.2 2014-12-11
0.8.0 2015-01-11
0.9.0 2015-02-12
0.10.0 2015-03-08
0.11.0 2015-04-08
0.12.0 2015-05-01
0.13.0 2015-11-15
0.13.1 2015-05-17
0.14.0 2015-06-30
0.15.0 2015-07-27
0.16.0 2015-08-06
0.16.1 2015-08-06
0.17.1 2015-08-27
1.0.0 2015-08-28
1.0.1 2015-09-03
1.0.2 2015-09-07
1.0.3 2015-09-29
1.0.4 2015-12-15
1.1.0 2015-09-16
1.1.1 2015-09-27
1.1.2 2016-01-09
1.1.3 2016-01-20
v1.2.0-rc.0 2016-04-29
v1.2.0-rc.1 2016-05-25
1.2.0 2016年6月23日
1.2.2 2017-03-14
1.2.3 2017-03-15
1.2.4 2017-05-16
1.3.0-rc.1 2017-03-15
1.3.0-rc.2 2017-05-16

インストール

PhoenixフレームワークElixirで書かれており、Elixir自体はErlang言語に基づいており、低遅延、分散型、フォールトトレラントシステムで動作するErlang VMを活用しています。両方の言語はphoenixフレームワークの使用に必要です。 phoenixフレームワークをインストールする手順は次のとおりです。

1.あなたのマシンにElixirインストールします。参照エリクサーのインストールとどのようにするエリクサーガイドをインストールします

2. HexパッケージマネージャをインストールしますHexは、Phoenixアプリケーションを稼働させ、余分な依存関係をインストールするのに必要なツールです。ターミナルまたはコマンドコントロールウィンドウで次のように入力します。

$ mix local.hex

すでにインストールされている場合、このコマンドはHexをインストールまたは更新します。

3.あなたのマシンにErlangインストールします。 Erlangがなければ、ElixirはコードのコンパイルにErlangのVMを使用するため、Elixirコードはコンパイルされません。 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アーカイブをインストールする準備が整いました。ミックスアーカイブは、アプリケーションとコンパイルされたBEAMファイルを含むZipファイルです。特定のバージョンのアプリケーションに関連付けられています。このアーカイブは、我々が構築することができる新しいベースのPhoenixアプリケーションを生成するために使用するものです。 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フレームワークのコンポーネントで、Phoenixプロジェクトを最初に作成するときには、それらの依存関係をインストールするようにすれば、自動的にインストールされます。さらに、これらのコンポーネントをダウンロードするミックスを許可しない場合は、後でその方法をミックスする方法を教えてくれるでしょう。

6.マシンにNode.js (v5.0.0以上)をインストールします。これはオプションの依存関係です。 brunch.ioの依存関係をインストールするにはNode.jsが必要です。 Brunch.ioは、デフォルトで静的アセット(javascript、cssなど)をコンパイルするためにPhoenixによって使用されます。

ダウンロードページからnode.jsを取得できます 。ダウンロードするパッケージを選択するときは、Phoenixにバージョン5.0.0以上が必要であることに注意することが重要です。

Mac OS Xユーザーはhomebrew経由でnode.jsをインストールすることもできます。

注:Node.jsを元にしたnpm互換プラットフォームであるio.jsは、Phoenixで動作することは知られていません。

Debian / Ubuntuのユーザに次のようなエラーが表示されることがあります:

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

これは、Debianがノードのために衝突するバイナリを持っているためです。

Ubuntuでノードパッケージマネージャを使用してパッケージをインストールできない

この問題を解決するには、次の2つの方法があります。

install 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ユーザの場合)Phoenixがライブコードのリロードに使用するLinux専用のファイルシステムウォッチャです。 (Mac OS XまたはWindowsユーザは無視しても問題ありません)。

Linuxユーザーはこの依存関係をインストールする必要があります。配布固有のインストール手順については、 inotify-tools wikiを参照してください。

スケルトンインストール

場合によっては、最低限のphoenixセットアップ以外のインストールが必要な場合もあります。 followコマンドはあなたにそれを与えるでしょう。

mix phoenix.new web --no-brunch --no-ecto

注意:スケルトンインストール用のElixir、Erlang、Hex、Mix、Phoenixアーカイブがインストールされている必要があります

Phoenixプロジェクトの作成

この時点でPhoenixフレームワークで最初のプロジェクトを作成するに 、Elixir、Erlang、Hex、およびPhoenixアーカイブがインストールされている必要があります。また、PostgreSQLとnode.jsをインストールして、デフォルトのアプリケーションを構築する必要があります。

ターミナルまたはコマンドプロンプトを開き、 アプリケーション作成するファイルシステム上の場所に移動しますphoenix.newは新しいプロジェクトを作成するmixコマンドです。アプリケーションの名前がhello_phoenix_worldであると仮定して、次のように入力します。

$ mix phoenix.new hello_phoenix_world

あるいは Phoenixアプリケーションをブートストラップするために、任意のディレクトリからmix phoenix.newを実行することもできます。 Phoenixは、新しいプロジェクトのディレクトリの絶対パスまたは相対パスのいずれかを受け入れます

$ mix phoenix.new /Users/username/work/elixir-projects/hello_phoenix_world

出力

mix phoenix.new hello_phoenix_world
* creating hello_phoenix_world/config/config.exs
* creating hello_phoenix_world/config/dev.exs
* creating hello_phoenix_world/config/prod.exs
...
* creating hello_phoenix_world/web/views/layout_view.ex
* creating hello_phoenix_world/web/views/page_view.ex

Fetch and install dependencies? [Yn]

Phoenixはプロジェクトのディレクトリ構造を生成し、アプリケーションに必要なすべてのファイルを作成します。 Mixは他の必要な依存関係インストールするかどうか尋ねます。そのことに「はい」と言ってみましょう。

Fetch and install dependencies? [Yn] Y
* running mix deps.get
* running npm install && node node_modules/brunch/bin/brunch build

依存関係がインストールされると、プロジェクトディレクトリに変更してアプリケーションを起動するように促すプロンプトが表示されます。

Move into your new project folder:

    $cd hello_phoenix_world

すでにpostgresのuseranmeとpostgresのパスワードを設定していない限り、postgresのユーザー名とパスワードを設定する必要があります。 config/dev.exsファイルを編集し、ユーザー名とパスワードを設定します:

# config/dev.exs
config :hello_phoenix_world, HelloPhoenixWorld.Repo,
  adapter: Ecto.Adapters.Postgres,
  username: "postgres",
  password: "postgres",
  database: "hello_phoenix_world_dev",
  hostname: "localhost",
  pool_size: 10
  
Now, create the database with the ecto mix task:

    $ mix ecto.create

We have a working application! Run your Phoenix application:

    $ mix phoenix.server

You can also run your app inside IEx (Interactive Elixir) as:

    $ iex -S mix phoenix.server

Load `http://localhost:4000` into your browser and you will see the default landing page of your application.

さて、Phoenixアプリケーションにhello worldを追加しましょう。 web/templates/page/index.html.eexファイルを開き、内容を次のように置き換えてファイルを保存します。

<h2>Hello World</h2>

サーバーを終了していない場合は、新しいコードが自動的にコンパイルされ、ブラウザに「Hello World」というメッセージが表示されます。

CRUDリソースを作成できるようになりました

最後に、サーバーを終了するには、 ctrl-c crtl-ccrtl-c control keycキーを同時に押します)。

エリクサー/フェニックスをOSXで動かす

エリクシール/フェニックス

ホームブリューをまずインストールしてください:

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

次に、 brew install elixirを実行すると、Elixirとその依存関係Erlangがインストールされます。

mix local.hexミックスをインストールします。

手順に従ってPhoenixをインストールします。

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

Node.js

NVMを使用してNode.jsバージョンをインストールして管理することができます。 nvmを次のようにインストールします。

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.4/install.sh | bash

場合はcurl利用できない、あなたがそれをインストールすることができbrew install curl 。次に、

nvm install node

Node.jsの最新バージョンをダウンロードしてコンパイルします。

データベース

Postgres.appをダウンロードして実行します。 config/dev.exsファイルでPhoenixプロジェクトを作成するときには、データベースの名前を指定するだけでconfig/dev.exsます。アダプタは残りのデフォルト値を使用します:

config :myphoenixapp, MyPhoenixApp.Repo,
  adapter: Ecto.Adapters.Postgres,
  database: "myphoenixapp_dev",
  hostname: "localhost",
  pool_size: 10

モデルのリソースの生成

リポジトリのスキーマ、ビュー、コントローラ、マイグレーションファイル、デフォルトのCRUDテンプレート、モデル用のテストファイル(Railsのスカフォールディングのような)を生成するには、 phoenix.gen.htmlようなミックスタスクを使用できます:

mix phoenix.gen.html Book books title note:text pages:integer author_id:references:authors

どこでBook 、モジュール名でbooksスキーマを使用複数形である、リソースフィールドが続く: title (デフォルトでは文字列)、 note (テキストフィールド)、 pages (整数)、 author_id作成するbelongs_to著者モデルとの関連付けを。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow