Magento补丁无法安装

时间:2014-01-30 19:29:57

标签: php magento download patch

http://www.magentocommerce.com/download下载并运行Magento PHP 5.4支持补丁(Magento-CE-v1.7.0.0-1.7.0.2)时,使用sh PATCH_SUPEE-2629_EE_1.12.0.0_v1.sh运行脚本时收到此错误:< / p>

$ 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

修改

我们已尝试使用bash运行.sh文件,但收到相同的响应。

有趣的是,当点击“下载”时,Magento在浏览器中显示.sh源代码,因此我们尝试了各种view-source组合然后保存;从浏览器窗口复制文本并将其保存到文本文件。尽管将错误消息更改为:

,但这些都没有解决问题
$ 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步骤 - :设置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

1 个答案:

答案 0 :(得分:3)

事实证明,当补丁文件(不是正在修补的文件)的行结尾与正在运行它的系统不匹配时,会出现此错误。

例如:您会在以下情况下看到此错误:

  • 您正在Linux上运行
  • 您的补丁文件包含Windows行结尾

我使用Sublime更改了补丁文件以获得Unix行结尾:

View > Line Endings > Unix

另见Error patching Magento 1.7.1 Hunk #1 Failed at