2017-03-02 11 views
0

私はLaravel 5.4にアップグレードしているLaravel 5.3プロジェクトを持っています.Laravelのいくつかの変更により、更新が必要ないくつかの依存関係があります。 1つを除くすべての依存関係が更新されていて、安全に切り替えることができました。私は自分でローカルに管理できる古い/保持されていない依存関係をどのように扱いますか?

githubを確認すると、同じ問題があり、問題を解決する簡単な方法で他のユーザーを見つけました。しかし、未知の理由により、依存関係の開発者は、もはやそれをサポートしなくなり、その使用は推奨されなくなったと考えます。問題を解決するプル要求がありますが、誰もこれらの要求を受け入れることはできません。

自分のベンダーのフォルダに移動して自分で変更を加えることができますが、変更が最終的に上書きされ、正方形に戻ってしまうので、これは正しい方法ではありません。

私は自分自身で解決するか、ソリューションを共有している他の人の助けを借りて解決できる問題で、古い/維持されていない依存関係の問題に対処しますか?

1)私はベンダからファイルをコピーして、サードパーティのファイルを自分のプロジェクトに統合しようとしました。

2)私はリポジトリをフォークして必要な変更を行い、フォークされたバージョンをpackagistに追加するか(正しくは感じません)、フォルダーにあるgitをcomposer.jsonファイルのリポジトリとして追加します。

私は他のアイデアに感謝しています。

答えて

0

私が今解決した方法を追加します。誰かがより良い答えを持っているなら、私はそれを喜んで受け入れます。

私のケースでは、問題のリポジトリは私がフォークできるGithubリポジトリです。私はリポジトリを複製し、必要な変更を加えることができます。次のものが私のcomposer.jsonファイルにあるとしましょう。私composer.jsonファイル内

"require": { 
    "someoneelse/project": "^1.0" 
} 

は、私は、依存関係のため、「someoneelse /プロジェクト」を発見し、現在のバージョン要件「^ 1.0」を「DEV-マスター」に変更しました。これにより、マスターブランチからの最新のコミットが引き出され、最小安定性がdevに設定されます。

次に私のリポジトリをcomposer.jsonに追加しました。このようにすることができます

"repositories": [ 
    { 
     "type": "git", 
     "url": "https://github.com/markustenghamn/project.git" 
    } 
], 
"require": { 
    "someoneelse/project": "dev-master" 
} 

実行中のコンポーザーアップデートは、私のフォークされたリポジトリから最新バージョンをフェッチするようになりました。誰かがこのプロジェクトの作業をやり直すことを決めたら、いつでもそれを元に戻すことができます。依存関係には、forkedプロジェクトのcomposer.jsonファイルに他の依存関係が必要な場合があります。必要に応じて更新してください。

関連する問題