5

Laravel の私のパッケージがtest/testだとしましょう。

ワークベンチでパッケージを作成しましたが、Jason Lewis のチュートリアルに従ってうまく機能しています。ここで、パッケージをワークベンチからベンダー ディレクトリに移動したいと考えています。これは、laravel ドキュメントでさえも、すべてのチュートリアルが不十分な場所です。ファイルの移動に git を使用したくなかったので、単純に test/test パッケージをワークベンチからベンダー ディレクトリにコピーしました (その後、ワークベンチから削除しました)。ワークベンチから test/test/vendor フォルダー (または .gitignore ファイルで気づいたその他のファイル) をコピーしませんでした。次に、新しい vendor/test/test ディレクトリからcomposer installを実行しました。次に、laravel ルート ディレクトリからcomposer dump-autoloadを実行しました。

アプリケーションを実行すると、パッケージがワークベンチにあったときには得られなかったエラーが表示されます。

Class 'Test\Test\TestServiceProvider' not found
(this is coming from \bootstrap\compiled.php on line 4121)

また、laravelルートからphp artisan dump-autoloadを実行しましたが、これと同じエラーが発生しました。

何か案は?または、誰かがパッケージ開発をベンダーディレクトリの最終的な休憩ポイントまで導くチュートリアルに私を導くことができますか?

4

2 に答える 2

7

動作しました。

追加した:

"psr-0": {
    "Test\\Test": "vendor/test/test/src/"
}

laravel ルート ディレクトリの composer.json の autoload セクションに追加すると、次のようになります。

"autoload": {
    "classmap": [
        "app/commands",
        "app/controllers",
        "app/models",
        "app/database/migrations",
        "app/database/seeds",
        "app/tests/TestCase.php"
    ],
    "psr-0": {
        "Test\\Test": "vendor/test/test/src/"
    }       
},

後でパッケージをPackagistに配置することにした場合は、これをオートロードから削除し、composer.json の「require」部分で参照されているパッケージをそのままにしておくことができます。そこまで行ったらどうなるか見てみよう!

于 2013-07-18T15:31:40.060 に答える
0

次のように、ローカルリポジトリからのようにハードドライブからパッケージをインストールできると思います。

"repositories": [
    {
        "type":"vcs",
        "url":"/path/to/repo/here"
    }
],
"require":{
     "me/myrepo":"dev-master"
}
于 2014-07-13T13:31:40.070 に答える