【问题标题】:Drush make failing on patchDrush 使补丁失败
【发布时间】:2015-12-23 10:45:30
【问题描述】:

我有一个 drush 生成的 make 文件,我执行该文件以下载必要的组件并创建一个完整的 drupal-panopoly 文件结构。

文件开头如下:

    ; 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 文件长达数百行。上面短片下面的很多行都成功执行了,但是上面补丁部分的第一行失败了,错误如下:

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

请注意,所有补丁都包含在名为 patches 的本地目录中。

我决定注释掉有问题的补丁,第一行,以便 drush make 过程可以成功执行。 然而,第二个补丁被抱怨了。我注释掉了第二个补丁,然后第三个补丁产生了错误。

需要注释掉所有三个补丁,make 文件才能成功执行,但 drupal 站点安装时出现错误。

下面是我的 make 目录的文件结构,它有补丁目录和它包含的文件,具有 777 权限,以防万一权限是问题。

谁能告诉我为什么 drush 不能/不会读取这些补丁文件以及如何解决这个问题?

【问题讨论】:

  • drush需要使用补丁时在哪个目录下运行?问题是当时的相对路径是错误的吗?
  • @Etan:我认为这不是路径问题。否则,makefile 将不会执行。当 makefile 执行时,它会在到达上面的代码时查找相对于它自己位置的补丁目录。
  • 你确定吗?您是否尝试过使用完整路径和/或使用strace(或类似的)来查看它试图打开的补丁的路径? (你可能是对的,但这是我要仔细检查的第一件事。)

标签: makefile drupal-7 patch drush


【解决方案1】:

经过大量调查,我发现问题在于安装的 Drush 版本。

我安装了 Drush 5,并被告知我至少需要 Drush 6。新问题是当我尝试执行sudo apt-get install drush 时,Drush 不会更新到版本 5 以上,因为 Ubuntu 仅支持版本#5。

我必须执行sudo apt-get remove drush,然后找到手动解决方案来安装我需要的特定版本的 Drush。

【讨论】:

    猜你喜欢
    • 2011-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-17
    • 2017-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多