Phoenix1.2.1のインストール(Windows8.1+Vagrant+CentOS7.3+Elixir1.3.4でPhoenix1.2.1)
前回は、なぜか、–no-brunch しないとうまくいかず、CSSやjavascriptがうまくいかない感じであった。
http://twosquirrel.mints.ne.jp/?p=14316
今回は、以下の記事を参考に、もう一度、CentOS7.3に、Phoenixをインストールしてみる。
How to Install the Phoenix Framework on CentOS 7
Modified on: Mon, Jul 11, 2016 at 5:54 pm EST
https://www.vultr.com/docs/how-to-install-the-phoenix-framework-on-centos-7
(環境)
Windows 8.1
VirtualBox 5.1.14
Vagrant 1.9.1
CentOS7.3
Erlang/OTP 19
Elixir 1.3.4
Phoenix 1.2.1
(0-1)VagrantでCentOS7.3のセットアップ
cd c:\vm mkdir centos73_phoenix5 cd centos73_phoenix5 vagrant init bento/centos-7.3
作成されたVagrantfileを以下のように訂正してから、
vagrant up
(0-2)TeraTermでログイン
127.0.0.1
2222
vagrant
vagrant
(1)Update the system
sudo yum -y install epel-release sudo yum -y update
sudo reboot
もう一度、TeraTermでログイン
(2)Install Erlang
cd ~ wget http://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm sudo rpm -Uvh erlang-solutions-1.0-1.noarch.rpm sudo yum -y install erlang
Erlangがインストールされたことを確認。
erl
Erlang/OTP 19 がインストールされたようである。
Ctrl + C を2回入力してErlang shellから脱出する。
(参考)
Erlang
https://packages.erlang-solutions.com/erlang/
(3)Install Elixir
今回は、Elixir 1.3.4 をインストールする。
cd /usr/bin sudo mkdir elixir cd /usr/bin/elixir sudo wget https://github.com/elixir-lang/elixir/releases/download/v1.3.4/Precompiled.zip sudo yum -y install unzip sudo unzip Precompiled.zip
/usr/bin/elixir/bin/elixir -v
Elixir 1.3.4 がインストールされたようである。
PATHを設定する。(これがいつも私には困難!)
sudo vi /etc/profile
↓ボタンで一番下へ行き、「o」を押す (→INSERTモードになる)
以下の文字列を挿入
export PATH="$PATH:/usr/bin/elixir/bin:/usr/bin/node-v6.9.5-linux-x64/bin"
「Esc」+ 「:」+「w」+「q」を順番に押す
Enter を押す
source /etc/profile
elixir -v
うむ、ちゃんとelixirにPATHが通ったらしい。。。(ここら辺がいつも面倒)
Hex package manager のインストール
cd ~
mix local.hex
Answer Y during the installation process.
(参考)
Elixir
https://github.com/elixir-lang/elixir/releases/
(4)Install Phoenix
mix archive.install https://github.com/phoenixframework/archives/raw/master/phoenix_new.ez
Answer Y during the installation process.
(参考)
Phoenix
http://www.phoenixframework.org/docs/installation
(5)Install Node.js
cd ~ wget https://nodejs.org/download/release/v6.9.5/node-v6.9.5-linux-x64.tar.xz sudo yum -y install xz xz -d node-v6.9.5-linux-x64.tar.xz tar -xvf node-v6.9.5-linux-x64.tar sudo mv ~/node-v6.9.5-linux-x64 /usr/bin/
Node.js v6.9.5 がインストールされたようである。
(参考)
Node.js
https://nodejs.org/ja/download/releases/
(6)Install PostgreSQL
sudo yum install -y postgresql-server
sudo postgresql-setup initdb
postgresql serviceの起動
sudo systemctl start postgresql.service
sudo systemctl enable postgresql.service
Postgresqlで、ユーザー: postgres のパスワードを設定
sudo -u postgres psql
postres=# と表示されたら、
\password postgres
として、任意のパスワード(今回は、postgres とする)を2回入力。
その後、
\q
でpostgresの画面を終了。
Setup the database user authentication method:
sudo vi /var/lib/pgsql/data/pg_hba.conf
矢印ボタンで下の方へ行き、# IPv4 local connections: といったところへ行く。
「i」を押す。
以下のように、2か所の ident を、md5 に書き換える
「Esc」+「w」+「q」で、Enter
postgresqlの再起動
sudo systemctl restart postgresql.service
(7)Intall inotify-tools
sudo yum -y install inotify-tools
(8)Create a Phoenix application
今回、
Windows8.1(ホストOS)の、c:/vm/centos73_phoenix5/
CentOS7.3(ゲストOS)の、/vatrant/
の中身が一緒になっている。
cd /vagrant
mix phoenix.new phoenix_project_1
cd phoenix_project_1
mix ecto.create
途中、何か聞かれたら、「Y」と入力して、Enter。
残念ながら、エラー
理由は分からない。。。
(9)困ったので、とりあえず、いったん、
vagrant halt
して、
vagrant up
TeraTermでログイン
cd /vagrant
mix phoenix.new sample
何か聞かれたら、 Y と入力してEnter
しかし、ここまでがんばったのに、
* error command failed to execute, please run the following command again after installation: “npm install && node node_modules/brunch/bin/brunch build"
のエラー。
どうやっても、このエラー解決できない。ググっても私の能力では解決方法が見つからない。
https://github.com/npm/npm/issues/12733
ホストOSがWindowsでVagrantを使っていて、ゲストOSがLinuxのときに、npm installするときは、
–nobin-links
を付けた方がよいとかいう噂がちらほら、、、
cd /vagrant/sample
mix ecto.create
npm install –no-bin-links
node node_modules/brunch/bin/brunch build
mix phoenix.server
おっ!初めて、エラーが出ていない。。。
ホストOS(Windows8.1)で、http://localhost:4000
これで行けたみたい!
<はまりポイント>
ホストOSがWindowsで、(Vagrantを用いて)ゲストOSがLinux(UbuntuやCentOS)のときに、
mix phoenix.new xxxxxx
すると、
“npm install && node node_modules/brunch/bin/brunch build"
が実行できない。これは、
cd xxxxxx
npm install –no-bin-links
node node_modules/brunch/bin/brunch build
を行うことにより解決できる。(たぶん、、、)
日本語でググっても解決しない場合は、必ず英語でググるようにしないと、、、
(参考)
Erlang
https://packages.erlang-solutions.com/erlang/
Elixir
https://github.com/elixir-lang/elixir/releases/
Node.js
https://nodejs.org/ja/download/releases/
viコマンド集
http://www.ritsumei.ac.jp/~tomori/vi.html
Phoenix
http://www.phoenixframework.org/docs/installation
symlink protocol error #12733
Closed joenmarz opened this issue on 18 May 2016 · 6 comments
https://github.com/npm/npm/issues/12733
ディスカッション
コメント一覧
まだ、コメントがありません