Goal
mix archiveのphoenix.newをアップグレードする。
before: v0.13.1
after: v0.15.0
before: v0.13.1
after: v0.15.0
Dev-Environment
OS: Windows8.1
Erlang: Eshell V6.4, OTP-Version 17.5
Elixir: v1.0.4
Phoenix Framework: v0.13.1 and v0.15.0
Erlang: Eshell V6.4, OTP-Version 17.5
Elixir: v1.0.4
Phoenix Framework: v0.13.1 and v0.15.0
Wait a minute
archiveの方のphoenix.newをアップグレードする。
Rails Tutorial for Phoenixで利用している、
ローカルバージョンはv0.13.1で固定しているので変わりません。
ローカルバージョンはv0.13.1で固定しているので変わりません。
アップグレードは、やりたい方だけ実行して下さい。
何れにせよ、記事が全て書き終われば、
バージョンアップによる変更点は反映していくので・・・
今やらなくても大丈夫です。
何れにせよ、記事が全て書き終われば、
バージョンアップによる変更点は反映していくので・・・
今やらなくても大丈夫です。
Index
VersionUpgrade
|> Upgrade Phoenix of mix archive
|> Extra
|> Upgrade Phoenix of mix archive
|> Extra
Upgrade Phoenix of mix archive
それでは、アップグレードしていきましょう!!
まずは、archive.installで新しいバージョンを指定して上書きできるか試してみます。
>mix archive.install https://github.com/phoenixframework/phoenix/releases/tag/v0.15.0/phoenix_new-0.15.0.ez
Found existing archive(s): phoenix_new-0.13.1.ez.
Are you sure you want to replace them? [Yn] y
* creating .mix/archives/phoenix_new-0.15.0.ez
** (MatchError) no match of right hand side value: {:error, :bad_directory}
(mix) lib/mix/tasks/archive.install.ex:64: Mix.Tasks.Archive.Install.install_archive/2
(mix) lib/mix/cli.ex:55: Mix.CLI.run_task/2
(stdlib) erl_eval.erl:657: :erl_eval.do_apply/6
(elixir) lib/code.ex:131: Code.eval_string/3
おや、何かエラーが出ましたね。
creating…の文言が出ているのでインストール(アップグレード)はできたようですが・・・
creating…の文言が出ているのでインストール(アップグレード)はできたようですが・・・
>mix archive
* hex.ez
* phoenix_new-0.15.0.ez
Archives installed at: .../.mix/archives
ふむ、やっぱりインストール(アップグレード)はできてますね。
Phoenixのインストールガイドを見直しました。
問題がでるようだったら、ローカルに.ezファイルをダウンロードしてインストールして下さいとあります。
問題がでるようだったら、ローカルに.ezファイルをダウンロードしてインストールして下さいとあります。
それに従ってもう一度インストールします。
なので、一度アンインストールします。(念の為)
なので、一度アンインストールします。(念の為)
>mix archive.uninstall phoenix_new-0.15.0.ez
>mix archive
* hex.ez
Archives installed at: .../.mix/archives
以下のリンク先へ行き、Downloadsから”phoenix_new-0.15.0.ez”をダウンロードして下さい。
ダウンロード: Github - phoenixframework/phoenix v0.15.0
ダウンロード: Github - phoenixframework/phoenix v0.15.0
ダウンロードしたら適当なディレクトリへ配置。
Description: コマンドプロンプトからパス指定できるならどこでも良い
Description: コマンドプロンプトからパス指定できるならどこでも良い
私の場合、以下のように配置した。
Example: C:\MyWorkSpaces\tools\phoenix_new-0.15.0.ez
Example: C:\MyWorkSpaces\tools\phoenix_new-0.15.0.ez
>mix archive.install C:\MyWorkSpaces\tools\phoenix_new-0.15.0.ez
Are you sure you want to install archive C:\MyWorkSpaces\tools\phoenix_new-0.15.0.ez? [Yn] y
* creating .mix/archives/phoenix_new-0.15.0.ez
エラーなくインストールできたようです。
Extra
一応、心配なので新しいバージョンのプロジェクトを作成して起動までします。
>mix phoenix.new v_0_15_0_project_sample
We are all set! Run your Phoenix application:
$ cd v_0_15_0_project_sample
$ mix ecto.create
$ mix phoenix.server
You can also run your app inside IEx (Interactive Elixir) as:
$ iex -S mix phoenix.server
個人的に生成遅くなった気が・・・(気のせい?)
ecto.createの項目が加わってますね。
ecto.createの項目が加わってますね。
>cd v_0_15_0_project_sample
>mix ecto.create
コンパイルが流れて・・・
Generated v_0_15_0_project_sample app
The database for V_0_15_0ProjectSample.Repo has been created.
>mix phoenix.server
以下のURLへアクセス。(デフォルトポート使用)
URL: http://localhost:4000
URL: http://localhost:4000
生成から起動まで問題なし!
Speaking to oneself
お疲れ様でした。
アップグレード完了です。
アップグレード完了です。
しかし、ネットワーク経由でインストールした場合、
一体何が問題だったんでしょう?
一体何が問題だったんでしょう?
初期インストールの時はエラーは出てなかったと思いますが・・・
まぁ、問題はないみたいなのでいいですけど。
まぁ、問題はないみたいなのでいいですけど。
v0.15.0のバージョンは・・・
Channel機能に対しての変更が多いですね。
利用している方は対応大変かもですが、頑張ってください!
Channel機能に対しての変更が多いですね。
利用している方は対応大変かもですが、頑張ってください!