2013-07-18 4 views
5

Laravelのパッケージがのテスト/テストであるとします。Laravelワークベンチで作成されたパッケージですが、ベンダーフォルダに転送する方法は?

私はワークベンチでパッケージを作成しましたが、それはJason Lewis' tutorialの次のように素晴らしい動作をしています。今私はベンダーディレクトリに ワークベンチからパッケージを移動したいと思います。これはのすべてのチュートリアルが短くなります。、さらにはラーベルドキュメントです。 gitを使ってファイルを移動したくないので、単にテスト/テストパッケージをワークベンチからベンダーディレクトリにコピーしてから、ワークベンチから削除しました。私はテストベンチ/テスト/ベンダーのフォルダをworkbench(または.gitignoreファイルに気づいた他のファイル)からコピーしませんでした。私はその後、作者インストール私の新しいベンダー/テスト/テストディレクトリから実行しました。私はその後作者のdump-autoloadをlaravelルートディレクトリから作成しました。

今、私は自分のアプリケーションを実行したとき、私はパッケージがワークベンチにいたとき、私は取得していないエラーが表示されます。

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

私もlaravelルートからPHP職人ダンプ-自動ロードを行なったし、私はこの同じエラーを取得します。

アイデア?あるいは、誰かがパッケージの開発をベンダーのディレクトリの最後の休憩地点にまで引き継ぐチュートリアルに私を導くことができますか?

答えて

7

これは機能しています。

私が追加:

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

をcomposer.jsonにおける自動ロードセクションにlaravelのルートディレクトリに、それは次のようになりますので、:私は後でPackagistにパッケージを置くことを決定した場合

"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/" 
    }  
}, 

私はこれを自動ロードから削除して、私のcomposer.jsonの "require"部分でパッケージを参照しておきます。私はそれを得るときに何が起こるかを見ていきます!

+0

けれども、それはあなたのGitのコミット(デフォルト)から除外されたベンダーのフォルダにあります。私は 'app/lib'のようなものを作ることを提案します。プロダクションに移ったときに、手動で移動する必要はなく、リポジトリにも残っています。 psr-0のパスを変更してください。 – wesside

+0

私はちょうどその.gitignoreファイルを編集して、右 '/ベンダーの下に/ *'私は 'このため!/ベンダー/ Test' – prograhammer

+0

感謝を追加し、私は正確に同じ問題を抱えてきた、そしてあなたの質問はすぐに私の問題を解決しました。 –

0

私はあなたがこのようなローカルリポジトリからのように、お使いのハードドライブからあなたのパッケージをインストールすることができると思う:

"repositories": [ 
    { 
     "type":"vcs", 
     "url":"/path/to/repo/here" 
    } 
], 
"require":{ 
    "me/myrepo":"dev-master" 
} 
関連する問題