wordpress - 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
为什么会出现这个错误?
问候
解决方案
为什么会出现这个错误?
首先,在 Windows 中集成 WP 单元测试已经概述了几个原因。
如果您问为什么是因为您正在寻找解决方案,那么页面上有以下内容:
最后,有时 bash 脚本无法构建 WordPress,因为它使用了 tmp 文件夹。如果失败,那么您可以手动将 WordPress 安装到可写目录,然后手动创建 wp-tests-config.php。
这里有一点背景:
很可能在目录名称中或(因为它不是为 sed 模式编码)中有一个冒号 (" :
") sed 在搜索表达式的末尾看到它并偶然发现了一个未知的意外选项 -并告诉你。$WP_CORE_DIR
s:<search>:<replace>:<option>...
在 *nix 系统上,冒号通常不是路径名的一部分。这意味着,您的系统与该 shell 脚本不兼容。它不能与 cygwin 一起移植。
您可以尝试使用 cygwin 使脚本可移植,例如通过为<search>
and引用冒号<replace>
(参见sed(1)
sed 表达式语法)。
或者您可以阅读 sed 表达式(再次参见sed(1)
)并手动将更改应用于测试 wordpress-configuration-file(这是手册中的建议,因此可能是第一种方法)。
推荐阅读
- azure-pipelines-release-pipeline - Octopus 部署迁移到 Azure 管道
- java - 关闭来自不同类别的印刷机
- json - 通过 API url 获取 Json 文件到 Google Cloud
- c# - userManager.GetRolesAsync(user) 扩展 IdentityRole 后返回空列表
- maven - maven 在运行时不会包含所有 ojdbc 模块
- kubernetes-helm - Helm 错误:升级失败:呈现的清单包含已存在的新资源
- python - Python - 字符串格式化(如何在不将浮点数转换为字符串的情况下限制小数)
- c# - (Unity) 用 OnMouseDown 按住鼠标试图触发多个对象
- javascript - OS X 上的 JS 键码:当“空格”+另一个键已经被按下时,“Digit6”不会被触发
- c# - 无法从视图访问 ASP.NET Core 3.1 Web API 控制器中的端点