Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
11
Help us understand the problem. What is going on with this article?
@piacerex

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

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

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

11
Help us understand the problem. What is going on with this article?
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
piacerex
福岡でプログラマしながらIT商社とIT企業を経営してます。Elixir/Kerasをよく使う。Elixirコミュ#fukuokaex、福岡理学部#FukuokaScienceを主催。プログラマ歴36年/XPer歴19年/デジタルマーケッター/経営者/CTO/技術顧問数社。 シボと重力子放射線射出装置は別腹(^^)
fukuokaex
エンジニア/企業向けにElixirプロダクト開発・SI案件開発を支援する福岡のコミュニティ

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
11
Help us understand the problem. What is going on with this article?