2016-08-17 21 views
1

問題にSATISを使用する適切な方法は何:共有内部ライブラリ

私はあるエンティティを持っているとsymfonyで書かれた2つのプロジェクトのために同じになります。プロジェクト間で共有するというアイデアがありました。最初のアイデアはgitサブモジュールを使用することでしたが、誰もが最も快適な解決策ではないことを誰もが知っています。だから我々は別々のgitリポジトリとしてSatisに入れます。

1つのプロジェクトでは、アプリケーションディレクトリsrc/AppBundle/Entityでそれらを編集したいのですが、もう1つはvendorディレクトリにダウンロードできます。

質問は私がvendorディレクトリではなくそれらと一緒に作業できるように作曲家を設定する方法です。コミットはどのように見えますか?このためにgitサブモジュールが必要ですか?

私はすでに"type" : "path"をリポジトリとして読んでいます。作者のインストーラを確認しました。シンボリックリンク以外のソリューションがありますか?

1つのプロジェクトで共有ライブラリを使用するにはどうすればよいでしょうか?

+0

Composerの '--prefer-source'オプションを試してみるといいでしょう。私はそれを試していないので、私は答えとしてそれを投稿しませんが、このリンクが役立つかもしれないhttp://dimsav.com/blog/9/git-repository-inside-composer-vendors –

+0

好きなソースがダウンロードされますpackagist/satisfの代わりにgithub/gitlabなどから入手してください。これは不都合ではありません – Robert

+0

composer.jsonの設定に従ってダウンロードします。リポジトリがどこにあるかは関係ありません。 –

答えて

0

これは私に役立つ解決策です。

私は内部ライブラリをプロジェクトにクローンしました。私は.gitignoreするために、このディレクトリを追加しましたし、composer.jsonに私はライン私だけサティスリポジトリを追加した他のプロジェクトで

"repositories": [ 
     { 
      "type": "path", 
      "url": "internal-library", 
      "options": { 
       "symlink": true 
      } 
     }, 
     { 
      "type": "composer", 
      "url": "http://our-satis" 
     } 
    ], 

次追加した主なプロジェクトで

(実体はなりますあるプロジェクトでのみ変更され、他のプロジェクトにインポートされます)。

"repositories": [ 
      { 
       "type": "composer", 
       "url": "http://our-satis" 
      } 
     ], 

これで開発者の更新時に、ライブラリがベンダーのディレクトリにシンボリックリンクされています。私はこのディレクトリを持っていない場合、それは満足感から得るでしょう。私のディレクトリが存在しないため、プロダクションリポジトリは満足できるものになります。私はPSRの読み込みにいくつか問題がありましたが、すべてが期待通りに機能します。

私は同じ問題を抱えている人に役立つことを願っています。

関連する問題