2017-03-21 9 views
21

複数のgitブランチがを使用するプロジェクトの依存関係を変更すると、yarn.lockファイルに競合が発生する可能性があります。おそらくいくつかのパッケージが意図せずにアップグレードされるため、yarn.lockファイルを削除して再生成することはお勧めできません。このファイルの競合をすばやく解決する最も良い方法は何ですか。どうすればよいでしょうか?

答えて

39

Since Yarn 1.0: はそれからの問題です。

$ yarn install 

yarn install v1.0.1 
info Merge conflict detected in yarn.lock and successfully merged. 
[1/4] Resolving packages... 

今、あなたは私だけがこのような `====などのコードの行を含む、あなたの` yarn.lock`で競合がある場合は、この作品とは思わないgit add yarn.lock && git rebase --continue

+0

をしなければならない。ただ、これを実行します======== '、' >>>>>>>>>>>>> '、' <<<<<<<<<<<'。まだChristine Schlenskerの答えが語っていることをする必要があります。 – theGreenCabbage

+9

@theGreenCabbageは信じられません、それを試してください – Vanuan

+0

動作しない、エラーをスローする予期しないエラーが発生しました: "不明なトークン7713:1 in/location' –

23

問題については、this github discussionで詳しく説明しています。私は yarn.lockをチェックアウト

git rebase origin/master 

最初の衝突が発生し、再度実行し、インストール

git checkout origin/master -- yarn.lock 
yarn install 

これはyarn.lockの原点/マスターバージョンに基づい 新しいyarn.lockを生成、 の変更を含めてpackage.jsonに変更しました。それは簡単だ

git add yarn.lock git rebase --continue 
関連する問題