首页 > 解决方案 > PhpUnit Wordpress 错误 install-wp-tests.sh

问题描述

我正在从 Cygwin 运行脚本,但出现以下错误

bash bin/install-wp-tests.sh wordpress_test root 'my_pass' localhost latest

结果:

sed: -e expression #1, char 36: unknown option to s'

这是发生错误并且执行结束的行

sed $ioption "s:dirname( __FILE__ ) . '/src/':'$WP_CORE_DIR/':" "$WP_TESTS_DIR"/wp-tests-config.php

为什么会出现这个错误?

问候

标签: wordpressphpunit

解决方案


为什么会出现这个错误?

首先,在 Windows 中集成 WP 单元测试已经概述了几个原因。

如果您问为什么是因为您正在寻找解决方案,那么页面上有以下内容:

最后,有时 bash 脚本无法构建 WordPress,因为它使用了 tmp 文件夹。如果失败,那么您可以手动将 WordPress 安装到可写目录,然后手动创建 wp-tests-config.php。


这里有一点背景:

很可能在目录名称中或(因为它不是为 sed 模式编码)中有一个冒号 (" :") sed 在搜索表达式的末尾看到它并偶然发现了一个未知的意外选项 -并告诉你。$WP_CORE_DIRs:<search>:<replace>:<option>...

在 *nix 系统上,冒号通常不是路径名的一部分。这意味着,您的系统与该 shell 脚本不兼容。它不能与 cygwin 一起移植。

您可以尝试使用 cygwin 使脚本可移植,例如通过为<search>and引用冒号<replace>(参见sed(1)sed 表达式语法)。

或者您可以阅读 sed 表达式(再次参见sed(1))并手动将更改应用于测试 wordpress-configuration-file(这是手册中的建议,因此可能是第一种方法)。


推荐阅读