Help us understand the problem. What is going on with this article?

Phoenixバージョン確認/アンインストール/インストールの手順をまとめてみた

fukuoka.ex代表のpiacereです
ご覧いただいて、ありがとうございます:bow:

Phoenixは、最新版の1.4が出たものの、関連ライブラリのバージョンアップが追いついていない(特にEcto 3.x系の関連)ことがあり、Phoenix 1.3系に戻したいケースがあるため、バージョン確認/アンインストール/インストールの手順をまとめておきました

なお、「Phoenix」は、ElixirのWebフレームワークです

内容が、面白かったり、気に入ったら、「いいね」よろしくお願いします :wink:

インストール済みPhoenixのバージョンを確認する

mix phx.new -v
Phoenix v1.4.2

インストール済みPhoenixのパッケージ名を確認する

後述のアンインストール/インストール時に指定します

mix archive
…(インストール済パッケージが並ぶ)
* phx_new-1.4.2
…(インストール済パッケージが並ぶ)

Phoenixのアンインストール

Phoenixのアップグレード用コマンドは無いので、一度、アンインストールして、インストールし直してください

Phoenixのアンインストール
mix archive.uninstall phx_new

Phoenixのインストール

Phoenix 1.4のインストール ※実行した時点での最新版がインストールされます
mix archive.install hex phx_new
Phoenix 1.3のインストール
mix archive.install https://github.com/phoenixframework/archives/raw/master/phx_new.ez

※Phoenix 1.3は、ライブラリ(plug_cowboy)不足で起動失敗するので、 @Yoosuke さんの こちらのコラムを参考にしてください

Phoenix 1.3インストール済で1.4をインストールすると…

以下のようなエラーが出るので、先にアンインストールは行ってください

== Compilation error in file lib/phx_new/ecto.ex ==
** (File.Error) could not read file "c:/Users/chris/oss/phoenix/installer/templates/phx_ecto/repo.ex": no such file or directory
    (elixir) lib/file.ex:319: File.read!/1
    lib/phx_new/generator.ex:28: anonymous fn/4 in Phx.New.Generator."MACRO-__before_compile__"/2
    (elixir) lib/enum.ex:1925: Enum."-reduce/3-lists^foldl/2-0-"/3
    lib/phx_new/generator.ex:24: anonymous fn/3 in Phx.New.Generator."MACRO-__before_compile__"/2
    (elixir) lib/enum.ex:1925: Enum."-reduce/3-lists^foldl/2-0-"/3
    expanding macro: Phx.New.Generator.__before_compile__/1
    lib/phx_new/ecto.ex:1: Phx.New.Ecto (module)

注意:既存Phoenix PJのバージョンはmix phx.newした際のバージョンのまま

Phoenixは、起動済みのWebサーバ上で動くWebアプリケーションとは異なり、各Phoenix PJ毎にPhoenixのWebサーバ機能が搭載されたアプリケーションとして構築されるため、Phoenixをインストールし直しても、構築済みのPhoenixのバージョンは変わりません

Phoenixの実態は、該当するPhoenixバージョンのWebサーバ機能を含んだソースコードやアセットをジェネレートするアプリケーションに過ぎないのです

p.s.「いいね」よろしくお願いします

よろしければ、ページ左上の image.pngimage.png のクリックをお願いしますー:bow:

piacerex
福岡でプログラマしながらIT商社とIT企業を経営してます。Elixir/Kerasをよく使う。Elixirコミュ#fukuokaex、福岡理学部#FukuokaScienceを主催。プログラマ歴36年/XPer歴19年/デジタルマーケッター/経営者/CTO/技術顧問数社。 シボと重力子放射線射出装置は別腹(^^)
https://github.com/piacerex
karabiner
主にシステム開発・アプリ開発・ Webサイト制作を行う会社です
http://www.karabiner.tech/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした