phoenix-framework 튜토리얼
phoenix-framework 시작하기
수색…
비고
이 절에서는 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 |
0.7.1 | 2014-12-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-06-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 패키지 관리자를 설치하십시오 . 16 진수 는 Phoenix 앱을 실행하고 필요한 추가 종속성을 설치하는 데 필요한 도구입니다. 터미널 또는 명령 제어 창에서 다음을 입력하십시오.
$ mix local.hex
이 명령은 이미있는 경우 16 진수를 설치하거나 업데이트합니다.
3. Erlang 을 컴퓨터에 설치 하십시오. Erlang이 없으면 Elixir는 코드 컴파일을 위해 Erlang의 VM을 사용하기 때문에 Elixir 코드는 컴파일되지 않습니다. Elixir를 설치할 때 Erlang을 설치했을 수도 있지만, 그렇지 않은 경우 Elixir 안내서의 Erlang 설치 지침 을 따르십시오. 그러나 데비안 기반 시스템을 사용하고 있다면 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 framework 을 설치 하십시오. Elixir와 Erlang이 있으면 Phoenix Mix 아카이브를 설치할 준비가되었습니다. 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는 기본적으로 Phoenix에서 정적 자산 (javascript, css 등)을 컴파일하는 데 사용됩니다.
다운로드 페이지 에서 node.js를 가져올 수 있습니다. 다운로드 할 패키지를 선택할 때, 피닉스는 버전 5.0.0 이상이 필요합니다.
Mac OS X 사용자는 homebrew 를 통해 node.js를 설치할 수도 있습니다.
참고 : 원래 Node.js를 기반으로 한 npm 호환 플랫폼 인 io.js는 Phoenix와 호환되지 않습니다.
데비안 / 우분투 사용자는 다음과 같은 오류를 볼 수 있습니다 :
sh: 1: node: not found
npm WARN This failure might be due to the use of legacy binary "node"
이것은 데비안이 노드에 대해 충돌하는 바이너리를 가지고 있기 때문입니다.
Ubuntu에서 노드 패키지 관리자를 사용하여 패키지를 설치할 수 없습니다.
이 문제를 해결할 수있는 두 가지 옵션이 있습니다.
nodejs-legacy를 설치하십시오.
$ apt-get install nodejs-legacy
또는 심볼릭 링크 생성
$ ln -s /usr/bin/nodejs /usr/bin/node
7 컴퓨터에 데이터베이스 ( PostgreSQL )를 설치 합니다. Phoenix는 기본적으로 응용 프로그램을 사용하도록 구성하지만 새 응용 프로그램을 만들 때 --database mysql
플래그를 전달하여 MySQL 로 전환 할 수 있습니다. PostgreSQL 위키에는 다양한 시스템에 대한 설치 가이드 가 있습니다.
Postgrex는 직접 Phoenix 종속성이며 모델을 만드는 데 사용됩니다. Phoenix 프로젝트를 만들고 시작할 때 Postgrex 는 나머지 종속 항목과 함께 자동으로 설치됩니다.
8 inotify-tools (리눅스 사용자 용) 이것은 Phoenix가 라이브 코드를 다시로드하는 데 사용하는 Linux 전용 파일 시스템 감시 프로그램입니다. (Mac OS X 또는 Windows 사용자는 무시해도됩니다.)
Linux 사용자는이 종속성을 설치해야합니다. 배포 관련 설치 지침은 inotify-tools wiki 를 참조하십시오.
스켈레톤 설치
때때로 최소한의 피닉스 설정을 제외하고는 아무 것도 설치하지 않기를 원합니다. follow 명령을 사용하면됩니다.
mix phoenix.new web --no-brunch --no-ecto
참고 : 골격 설치를 위해 Elixir, Erlang, Hex, Mix 및 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 사용자 이름과 암호가 기본 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-c
( ctrl-c
control key
와 c
키를 함께 누름)를 두 번 연속 입력하십시오.
OSX에서 Elixir / Phoenix 실행
엘릭서 / 피닉스
먼저 자작 (Homebrew)을 설치하십시오.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
그런 다음 brew install elixir
를 실행하면 Elixir와 Erlang이 모두 brew install elixir
됩니다.
mix local.hex
와 mix local.hex
설치 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를 다운로드하여 실행하십시오. 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
저자 모델 협회.