LoginSignup
2
1

More than 5 years have passed since last update.

CodeIgniter4 を composer create-project したらコケた

Last updated at Posted at 2017-09-22

CodeIgniter Night に参加すること3回、そろそろ使うべきだろう…趣味の開発に使おう、せっかくなら CodeIgniter4 で!と思ったらインストールでコケたのでメモ。


2017/09/28 追記
@kenjis さんからコメントを頂き、codeigniter-composer-installer の issue については、
本件の「CodeIgniter4 の Packagistの問題」とは関係ないことを示して頂きました。
記事中の、無関係と思われる箇所は打ち消しています。


CodeIgniter4 はこちら
https://github.com/bcit-ci/CodeIgniter4

先を読む前に、下記の Issue を確認してください。解決されているかも。

https://github.com/bcit-ci/CodeIgniter4/issues/726
https://github.com/kenjis/codeigniter-composer-installer/issues/25 コメント参照

ユーザーガイドにしたがってインストールしたかった

CodeIgniter4 から Composer でのインストールに対応、ということで。
CodeIgniter4 User Guide の Installation に、Composer でインストールする方法が書かれています。

composer create-project codeigniter4/framework

…としたあと、初めて使うのでユーザーガイドを最初から読んで作業していこうとしたのですが、なんだかつまづく…

Packagist を見てみる

codeigniter4/framework を確認してみます。

何もおかしなところは無さそう…と思いきや

この package の GitHub リポジトリを見ると、
https://github.com/sabri-elgueder/CodeIgniter4

https://github.com/bcit-ci/CodeIgniter4 ではありません!

@kenjis さんの codeigniter-composer-installer を試す

codeigniter-composer-installer は、たしか CodeIgniter4 にも対応していたような…ということで

composer create-project kenjis/codeigniter-composer-installer codeigniter

をためすと、 Composer の post-create-project-cmd がエラーを吐いて止まってしまいました。

追記 上記のPackagistの問題とは関係ありませんでした。ただし、下記は「検証/調査をした流れ」に基づいているのでそのまま残します コメント参照

GitHub で公開されているもので問題が発生したら、 Issue を確認するクセをつけはじめているので、確認すると…
Can't install the official CodeIgniter4
という Issue が@kenjisさんご自身で立てられてました。

CodeIgniter4 本体の Issue へのリンクがあるため、そちらを確認します。
Composer intall, as described in documentation, points to different github repository(!)

この記事執筆時点で13時間前に立てられた、タイムリーな Issue です…orz

Packagist に(他人が?勝手に?)パッケージを公開している、そのパッケージが悪意のある人間だと、セキュリティ上攻撃に使われるかもしれない、ということですね

(この場合、Packagistの公開を消してもらう、とかになるんですかね…?)

応急処置

追記 問題なく codeigniter-composer-installer で導入できることが確認できました。なので、下記作業は必要ありません! コメント参照

codeigniter-composer-installer を使うことにしたので、

composer.json, composer.json.distrepositories を下記のようにしました

composer.json
"repositories": [
            {
                "type": "package",
                "package": {
                    "name": "codeigniter4/framework",
                    "version": "4.0.0-dev",
                    "dist": {
                        "url": "https://github.com/bcit-ci/CodeIgniter4/archive/develop.zip",
                        "type": "zip"
                    },
                    "source": {
                        "url": "https://github.com/bcit-ci/CodeIgniter4.git",
                        "type": "git",
                        "reference": "develop"
                    }
                }
            }
        ],

これで一応、動作はできるように。ただ、実用には耐えないと思います。

ユーザーガイドが変わる (codeigniter4/framework とは違う名前にする)が早く確実な対応方法なのかなぁ…

2
1
2

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
2
1