2016-01-02 35 views
2

我剛剛在我的電腦上設置了本地回購,並且工作得很好。作曲家 - 設置本地回購爲第一優先

但問題是,當我安裝一個包作曲家工具首先檢查packagist回購,而不是我本地回購。我想先檢查本地回購。如何解決這個問題?

這裏是我的全球config.json

{ 
"repositories": { 
    "local": { 
     "type": "composer", 
     "url": "http://localhost:9090" 
    } 
} 

任何幫助嗎?

回答

0

Satis正在運行嗎?

請瀏覽http://localhost:9090來確定。

Satis需要正確運行,並且必須列出您的軟件包,然後才能使用composer.json(或者甚至將其移動到config.json)。

設置Satis的基本指南在這裏:https://getcomposer.org/doc/articles/handling-private-packages-with-satis.md#satis

如果您無法使Satis運行,請發佈您的satis.json


你可以嘗試去除config.json關鍵local並添加"packagist": false代替(禁用Packagist查找)。

{ 
    "repositories": [ 
     { "packagist": false }, 
     { 
      "type": "composer", 
      "url": "http://localhost:9090" 
     } 
    ] 
} 

我認爲解決的辦法是結合 - 在您的項目 設定"packagist":false - 與"require-dependencies": true您SATIS配置。

這意味着您需要的所有包都不是由Packagist的Composer直接提取(它關閉),而是間接通過Satis服務器提取。

Satis將聯繫Packagist並將軟件包下載到Satis空間(本地軟件包緩存),Composer從那裏抓取它們。

我無法禁用packagist,因爲我需要它用於其他軟件包。

當您允許Satis獲取它們時,您可以禁用項目全局的packagist。指令require-dependenciesrequire-all可能會有所幫助。

+0

Satis工作正常。我可以從它安裝軟件包。但問題是作曲家先檢查packagist回購。我無法禁用packagist,因爲我需要其他軟件包。 我只想讓作曲家首先檢查我的本地回購,並且只有當我的本地回購沒有找到包時才繼續packagist。 –

+0

我認爲解決方案是將您的項目中的設置「packagist:false」與您的satis配置中的「require-dependencies:true」組合在一起。這意味着你所需要的所有軟件包不會直接**由Packagist的Composer(它關閉)獲取**,而是**通過Satis服務器間接獲取**,Satis服務器將它們從Packagist獲取到Satis進行本地緩存 - 然後Composer抓取他們從那裏。 「我不能禁用packagist,因爲我需要它用於其他軟件包。」當您允許Satis獲取並提供全部內容時,您可以禁用它。 –

+0

是的,這是一個很好的。我會檢查:)。 –