Патч Magento не может установить

При загрузке и запуске патча для поддержки Magento PHP 5.4 (Magento-CE-v1.7.0.0-1.7.0.2) с http://www.magentocommerce.com/download выполняется сценарий с использованием sh PATCH_SUPEE-2629_EE_1.12.0.0_v1.sh мы получаем эту ошибку:

 $ sh PATCH_SUPEE-2629_EE_1.12.0.0_v1.sh : command not found_1.12.0.0_v1.sh: line 7: 'ATCH_SUPEE-2629_EE_1.12.0.0_v1.sh: line 9: syntax error near unexpected token `{ 'ATCH_SUPEE-2629_EE_1.12.0.0_v1.sh: line 9: `_check_installed_tools() { 

Как ни странно, строка 7 сценария пустая (вот глава файла):

 #!/bin/bash # Patch apllying tool template # v0.1.2 # (c) Copyright 2013. Magento Inc. # # DO NOT CHANGE ANY LINE IN THIS FILE. # 1. Check required system tools _check_installed_tools() { local missed="" 

Мы попробовали загрузку в Windows и Mac, в Firefox и Chrome, чтобы исключить любые проблемы с кодированием, вызванные процессом загрузки. Патч, кажется, очень новый – Added Jan 17, 2014

Мы запускаем Magento Community Edition 1.7.0.2

редактировать

Мы попытались запустить файл .sh с bash но получим тот же ответ.

Интересно отметить, что при нажатии «загрузить» Magento показывает источник .sh в браузере, поэтому мы попробовали различные комбинации источника просмотра, затем сохранили; копирование текста из окна браузера и сохранение его в текстовый файл. Ни одна из этих проблем не решила проблему, хотя одна из них изменила сообщение об ошибке:

 $ sh PATCH_SUPEE-2629_EE_1.12.0.0_v1.sh Checking if patch can be applied/reverted successfully... /usr/bin/patch: **** malformed patch at line 238: ERROR: Patch can't be applied/reverted successfully. 

Строка 238 – это пустая строка комментариев:

 +/** + * Abstract helper class for {@link Zend_Pdf_FileParser} that provides the + * data source for parsing. + * + * Concrete subclasses allow for parsing of in-memory, filesystem, and other + * sources through a common API. These subclasses also take care of error + * handling and other mundane tasks. 

Мы также попробовали упомянутый здесь шаг VI -: set ff unix http://www.magentocommerce.com/boards/viewthread/864518

Затем ошибка изменилась на:

 $ sh PATCH_SUPEE-2629_EE_1.12.0.0_v1.sh Checking if patch can be applied/reverted successfully... ERROR: Patch can't be applied/reverted successfully. patching file app/code/core/Mage/Catalog/Model/Product.php Hunk #1 FAILED at 1936. 1 out of 1 hunk FAILED -- saving rejects to file app/code/core/Mage/Catalog/Model/Product.php.rej patching file app/code/core/Mage/Core/Controller/Varien/Router/Standard.php Hunk #1 FAILED at 43. 1 out of 1 hunk FAILED -- saving rejects to file app/code/core/Mage/Core/Controller/Varien/Router/Standard.php.rej patching file app/code/core/Mage/Install/etc/config.xml patching file app/code/core/Zend/Pdf/FileParserDataSource.php 

Оказывается, эта ошибка возникает, когда файл патча (а не патч ) имеет окончания строки, которые не соответствуют системе, в которой он выполняется.

например: вы увидите эту ошибку, если:

  • Вы работаете в Linux
  • В файле исправления есть конечные строки Windows

Я изменил файл исправления, чтобы иметь окончание строк Unix, используя Sublime:

View > Line Endings > Unix

См. Также Ошибка исправления Magento 1.7.1 Hunk # 1 Ошибка при