27
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

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

Last updated at Posted at 2019-01-02

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

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

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

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

Phoenixのインストール

Phoenix最新版のインストール ※実行した時点での最新版がインストールされます
mix archive.install hex phx_new
Phoenixのバージョン指定インストール ※ここではPhoenix 1.6.5を入れています
mix archive.install hex phx_new 1.6.5
Phoenix 1.3以前のインストール
mix archive.install https://github.com/phoenixframework/archives/raw/master/phx_new.ez

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

Phoenixのアンインストール(もしくはアップグレード)

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

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

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

mix phx.new -v
Phoenix v1.6.6

Phoenixのパッケージ名を確認する

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

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の実態は、Webサーバ機能を含んだソースコードやアセットをジェネレートするアプリケーションに過ぎず、PJ生成時点のインストール済Phoenixバージョンでソレを行うだけなのです

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

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

27
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
27
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?