2015-09-25 45 views
0

我有一個drush生成的make文件,我執行它來下載必要的組件並創建完整的drupal-panopoly文件結構。Drush使補丁失敗

文件開頭如下:

; Drush make file for Panopoly site. 

    ; Drupal core 
    ; ----------------------------------------------------------------------------- 
    api = 2 
    core = 7.x 
    projects[drupal] = 7.39 
    projects[panopoly] = 1.25 

    ; Include any additional changes to the Panopoly make file. 
    projects[panopoly][patch][] = patches/panopoly-views-clean-row-classes-1360186-33.patch 
    projects[panopoly][patch][] = patches/panopoly-file_entity_update-2375595-4.patch 
    projects[panopoly][patch][] = patches/panopoly-wysiwyg_filter-area-map-1508346-4.patch 
    . 
    . 
    . 

make文件是幾百行代碼一個coulpe。在短片下面幾行的很多上面成功執行,但上面的貼片部分的第一行失敗,下面的錯誤:

>> Unable to download patches/panopoly-views-clean-row-classes-1360186-33.patch. [error] 

請注意,所有的補丁都包含在本地目錄稱爲補丁

我決定註釋掉這個問題補丁,第一行,這樣drush make進程可以成功執行。 但是,第二個補丁是抱怨。我評論了第二個補丁,然後第三個補丁生成了一個錯誤。

它需要註釋掉make文件的所有三個補丁才能成功執行,但是drupal站點會安裝錯誤。

下面是我的make目錄的文件結構,它具有patches目錄以及它包含的具有777權限的文件,只不過是因爲權限問題。

enter image description here

誰能給我爲什麼drush不能/不會閱讀這些補丁文件的洞察力和如何解決這個問題?

+0

當需要使用補丁時,什麼目錄是「drush」?這個問題的相對路徑是否錯誤? –

+0

@Etan:我不認爲它是一個路徑問題。 makefile將不會執行,否則。當makefile執行時,它會在達到上面的代碼時查找相對於它自己的位置的修補程序目錄。 – sisko

+0

你確定嗎?您是否嘗試過使用完整路徑和/或使用'strace'(或類似)來查看它嘗試打開的修補程序的路徑? (你可能是對的,但這是我第一次仔細檢查。) –

回答

0

經過多次調查,我發現問題是Drush的安裝版本。

我安裝了Drush 5,我被告知需要Drush 6 atleast。新問題是當我試圖執行sudo apt-get install drush時Drush不會更新版本5以上,因爲Ubuntu僅支持版本#5。

我必須執行sudo apt-get remove drush,然後找到一個手動解決方案來安裝Drush I所需的特定版本。