2016-10-04 75 views
8

當我運行composer install --prefer-source或嘗試更新這一個特定束(他人相處融洽)我得到這個錯誤:作曲家安裝--prefer源拋出錯誤

Failed to download some-bundle from source: Failed to execute git checkout 'xx' -- && git reset --hard 'xx' -- 

error: The following untracked working tree files would be overwritten by checkout: 
... 
    [ list of all files in repo on a branch that interests me ] 
... 
Please move or remove them before you can switch branches. 
Aborting 

我假設我就搞砸了什麼捆綁存儲庫,但不知道是什麼。

  1. 我克隆全新的項目庫
  2. 我試試「作曲家安裝--prefer來源」,並仍然得到這個錯誤。

有趣的是 - 錯誤只發生在MAC上的docker上。在其他與Linux的電腦它工作正常。

+0

什麼版本的作曲家?其他人報告了相同的問題,並且作曲家的更新將其排除。值得一試? 「對於遇到這個問題的其他人嘗試更新作曲家--prefer-dist」。其他建議在GIT Bash中運行,而不是CMD(Windows)。 – Robbie

+0

作曲家版本1.2.1 2016-09-12 11:27:19。 --prefer-dist無法正常工作 - 我無法直接從供應商處發送更改。但我認爲這只是MAC上的問題。 – mmmm

+0

解決方案是永遠不會*在供應商文件夾內進行修改。這與作曲家,供應商文件夾以及一般適當的開發實踐的整個方面直接相反。 – Sammitch

回答

7

看起來您已經手動更新了此捆綁軟件的供應商目錄中的源代碼。

如果是這樣,請在更新軟件包之前直接在供應商目錄中提交/推送或重置它們。

如果不是,它可能涉及到這個問題:https://github.com/composer/composer/issues/2896

作者寫道:

「這個問題可以有兩種方式:

  • 積攢的時候,加--include - 這將存儲新添加的文件以及

  • 當檢出時,添加 - 強制標誌將覆蓋文件,而不是borting「。

如果沒有任何幫助,您可以手動刪除供應商目錄以強制composer新安裝軟件包。 編輯請看看https://getcomposer.org/doc/03-cli.md#clear-cache,也許作曲家已經將git倉庫緩存在某處並且無法更新它。

+0

我編輯了我的問題。即使我從頭開始,錯誤仍然存​​在。 – mmmm

+0

@mmmm作曲家可能在內部緩存了某些東西,我編輯了我的回覆 – P0rnflake

+0

我嘗試清除緩存,甚至當我從克隆新回購和在Docker上安裝供應商時開始出現錯誤。 – mmmm