Skip to content

Instantly share code, notes, and snippets.

@hidenorigoto
Last active January 2, 2016 02:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hidenorigoto/8238677 to your computer and use it in GitHub Desktop.
Save hidenorigoto/8238677 to your computer and use it in GitHub Desktop.
BEAR.Skeletonでインストーラーが正常終了しない問題メモ

2014/01/03時点で、BEAR.Skeletonのインストーラーが正常終了しない。いくつかの問題が複合的に存在するようなのでメモ。

  • issue #14 error "post-autoload-dump" で修正/再配置されたinstaller.phpファイルが、次のコミットでファイル削除されている
  • 新しいディレクトリ構造を考慮すると、installer.phpbinディレクトリにあるべきか?
  • installer.phpでは、var/tmpディレクトリがあることを前提としている(新しいディレクトリ構造でも規定されている)。が、BEAR.Skeletonの初期状態としてvar/tmpディレクトリは含まれていない。
  • installer.phpでは、スケルトンファイルにベンダーディレクトリが適用されていない。 ベンダー名をどのように取得するか?
@koriym
Copy link

koriym commented Jan 4, 2014

消えてたディレクトリ&ファイル (tmp/ installer.php)追加しました

@koriym
Copy link

koriym commented Jan 4, 2014

ベンダー名をどのように取得するか?

PHP.Skeletonと同じでフォルダ名から取得しています。(コンソールでインタラクティブに聞いた方がいいかもしれません)

@koriym
Copy link

koriym commented Jan 4, 2014

binディレクトリにあるべき?

すぐ消去されるファイルでトップに置きましたが、どうでしょうか。bin/でも問題ないです。

@hidenorigoto
Copy link
Author

削除されていたディレクトリ、ファイルの復帰を確認しました。
installer.phpの配置については、問題ないと思いますし、トップにある方が分かりやすいかとも思います。

@hidenorigoto
Copy link
Author

ベンダー名についてですが、PHP.SkeletonとBEAR.Skeletonではディレクトリの命名ルールが異なる、という認識でよいでしょうか。

  • PHP.Skeletonでは、プロジェクトルートの名前であり、Example.Hoge のようにピリオド区切り。自身のディレクトリ名を取得して、ピリオドで分解し、ベンダー名/アプリケーション名としている
  • BEAR.Skeleton では、プロジェクトのappsディレクトリ配下に配置されるもので、Example/Hoge のように2階層のディレクトリになる。自身のディレクトリ、その1階層上のディレクトリを取得して、それぞれアプリケーション名、ベンダー名とする必要がある

@koriym
Copy link

koriym commented Jan 6, 2014

指摘ありがとうございます。全然気にしてませんでした!>< PHP.Skeletonのように

$ composer create-project php/skeleton {Vendor.Package}

がいいですかね

@hidenorigoto
Copy link
Author

いいえ、create-project コマンドでは作成するディレクトリを指定することになり、これは apps/Vendor/Package に対応する部分なので、現在 README にある指定方法のままでよいのではないでしょうか。

installer 側でベンダー名を取得するコードを変更すればよいかと思います。

@koriym
Copy link

koriym commented Jan 6, 2014

Demo/Sandbox apps/Vendor/App/ apps/Demo/Sandbox (現在のBEAR.Package)
Demo.Sandbox apps/Vendor.App/ apps/Demo.Sandbox/ ..

どうでしょうね。Demo.Sandboxの方がapps下にgit cloneで落としやすいかもしれません

@koriym
Copy link

koriym commented Jan 9, 2014

apps/Vendor.App/ +PSR4レイアウトでBEAR.Package / BEAR.Skeleton共に PSR-4に対応してみました。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment