【发布时间】: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