2016-12-14 59 views
0

我已經通過gem-fury設置了私人的composer版本庫,但是當我嘗試下載其中一個軟件包時(使用composer-require),我收到以下錯誤:無法訪問寶石版本中的私有存儲庫

[Composer\Downloader\TransportException] 
    The 'https://s3.amazonaws.com:443/gemfury/gems/[SOME_STRING]/[VENDOR][PACKAGE]_[VERSION]_zip?Signature=SIGNATURE&Expires=1481739039&AWSAccessKeyId=[AWS_ACCESS_KEY]' URL could not be accessed: HTTP/1.1 400 Bad Request 

PS 我知道的認證工作,因爲作曲家確實收到

任何幫助將

+0

中間是否有代理? – helloV

+0

我的一端沒有代理服務器(在辦公室和一臺遠程服務器上嘗試了兩臺計算機) – Eyal

回答

1

簡短的回答被appretiated(最新版本識別)的文件的package.json:您可能會看到這個問題,如果你正在使用auth.json來存儲你的Gemfury令牌。目前,解決此問題的唯一方法是將令牌直接嵌入您的存儲庫URL composer.json中。

長答案:它不起作用的原因是由於Composer CLI中的錯誤。在這個特殊用例中,當Composer按照Gemfury的私人php.fury.io回購重定向到安全的S3下載時,它會在您的Gemfury令牌中包含Authorization標頭。此標題與S3的身份驗證模型衝突,併產生400 Bad Request響應。

重新發送Authorization從一臺主機重定向到另一臺主機是一個相當重要的安全問題,我建議您重置您的Gemfury令牌,並停止使用auth.json身份驗證方法,直到解決此問題。

+0

謝謝,我們最終轉而使用其他服務。 – Eyal

+0

有沒有打算很快解決這個問題? – Amir