CakePHP:从 3.9.x 升级到 4.0:bin/cake 升级 ector --rules phpunit80 挂起

2024-02-25

我正在将 CakePHP 3 应用程序升级到 CakePHP 4,并遵循升级指南。

但是,那bin/cake upgrade rector --rules phpunit80 <path/to/app/tests>工具挂起。

一点背景知识,我的应用程序主要是用 CakePHP 3.6 制作的。我将其升级到 3.7,然后是 3.8,然后是 3.9,并在尝试升级到 4 之前确保一切正常(没有弃用警告)。

我正在关注CakePHP 4.0升级指南 https://book.cakephp.org/4/en/appendices/4-0-upgrade-guide.html。直到“Applying Rector Refactorings”为止,所有步骤都成功。

当我运行这个时:

PS C:\xampp\htdocs\my_app\upgrade> bin/cake upgrade rector --rules phpunit80 C:\xampp\htdocs\my_app\tests

我得到这个结果:

Rector v0.7.26

Then,

0/189 [>---------------------------]   0%

它就挂在那里(已经大约 1 小时了)。

对于如何解决这个问题有什么建议吗?

谢谢! D .


好吧,我大概找到了解决问题的方法。这是我如何让 Rector 工作的。

  1. 将我的应用程序的 Cake 版本降级至 3.8.12(原为 3.9.0-RC2)
  2. 手动修复 app\vendor\cakephp\plugin-installer\src\Installer\PluginInstaller.php 中的花括号弃用通知:170
  3. To fix Class Cake\Composer\Installer\PluginInstaller is not autoloadable, can not call post-autoload-dump script,我删除了我的 app\vendor 文件夹,然后运行composer update,这似乎解决了这个问题。到目前为止还没有收到该错误。
  4. 在这里对运行良好的应用程序进行了备份,并开始了 4.0 升级指南中的升级步骤。
  5. 在 \upgrade, ramcomposer install --no-dev,又收到消息了Class Cake\Composer\Installer\PluginInstaller is not autoloadable, can not call post-autoload-dump script.
  6. Ran bin/cake upgrade file_rename locales <path/to/app>。没有问题。
  7. Ran bin/cake upgrade file_rename templates <path/to/app>。好的,没问题。
  8. 改变了我的config/app.php to be App=> paths => templates from 'templates' => [APP . 'Template' . DS], to 'templates' => [ROOT . DS . 'Template' . DS],(也做了区域设置)。
  9. Ran bin/cake upgrade rector --rules phpunit80 <path/to/app/tests>现在得到了结果。它似乎完成了所有更新,并输出了一些错误,但我决定继续。
  10. Ran bin/cake upgrade rector --rules cakephp40 <path/to/app/src>,现在看来有效了。它显示更新的文件数量、大量进度条等。它开始输出在我的控制器中所做的更改(按字母顺序),但随后它在前几个控制器之后挂起。然而,查看我的 src 文件夹,我可以看到所有控制器、模型等都已更新(最后修改日期是现在)。
  11. Ran composer require --update-with-dependencies "phpunit/phpunit:^8.0"。完成并看起来不错。
  12. Ran composer require --update-with-dependencies "cakephp/cakephp:4.0.这里有很多依赖性问题。我采取了一些替代步骤并更新了所有内容(实际上是从here https://github.com/cakephp/app/blob/master/composer.json)。这似乎解决了依赖性问题,但升级后的应用程序仍然存在无数问题。

我不会在这里进一步讨论,因为上面的信息解决了最初的问题,而且我还没有完成干净的升级。最终,我倾向于开始全新、干净的应用程序安装并重建我的应用程序,从重构文件中复制和修复代码(如上面提到的 dype)。

不管怎样,谢谢你的回复。 祝你有个好的一天, D .

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CakePHP:从 3.9.x 升级到 4.0:bin/cake 升级 ector --rules phpunit80 挂起 的相关文章

  • 任何嵌入式文档查看器

    我希望在我的 CakePHP 应用程序中包含一个文档查看器 用于上传文档 我想要一个支持 Microsoft Word DOC 和 DOCX Microsoft PowerPoint PPT 和 PPTX 和 Adob e 便携式文档格式
  • 使用 CakePHP 提取 URL 值(参数)

    我知道 CakePHP 参数可以轻松地从 URL 中提取值 如下所示 http www example com tester retrieve test good 1 accepted active 我需要从 URL 中提取值 如下所示 h
  • 将数据保存到另一个模型 cakePHP 3.5

    我还是 cakephp 的初学者 我有表格问题和问题测验 我在问题控制器中创建了名为existingQuestion 的表单 并希望将其保存在表questionQuizzes 中 但是 该表格无法保存 我已经关注了这个example htt
  • 使用前缀路由时 url 中的 CakePHP3.x 控制器名称

    我正在尝试在 CakePHP3 中使用前缀路由 我将以下几行添加到 config routes php Router prefix admin function routes All routes here will be prefixed
  • PHP 字符串中不定冠词 (a, an) 的正确形式

    有没有一种简单的方法可以替换字符串中的 a an 以与后面的单词一致 与日期格式中 S 的工作方式非常相似 e g apple apple pear pear echo This is a apple this is a pear gt T
  • 如何使用 cakephp 和 twitter bootstrap 在表单 postlink 内创建图标

    这给了我我想要的 但是当我创建 Form postLink 时 我不知道如何获取它前面的删除图标
  • 使用 CakePHP 2 的特征和命名空间的正确方法是什么?

    我正在使用 CakePHP 2 4 5 和 PHP 5 5 并且想使用一个特征 我在 Utility VariablesTrait php 中有一个称为VariablesTrait 为了利用命名空间 我给了它一个命名空间App Utilit
  • 如何为一般 authError 消息定义 FlashHelper/Component 元素

    将 CakePHP 从 2 6 2 更新到 2 7 2 后 在创建 auth flash 消息时出现丢失密钥错误 如何定义默认的元素模板authError Since SessionComponent setFlash 已经已弃用 http
  • CakePHP:控制台命令中的自定义错误报告

    我们当前使用 CakePHP 2 4 7 和自定义错误处理程序 自定义错误处理程序适用于通过 HTTP 或 CronDispatcher 发出的每个请求 不幸的是 当向我们的控制台命令之一发出控制台请求时 错误处理程序被忽略 请参见以下示例
  • 用于在 Cakephp 中创建单选按钮的表单助手

    我正在尝试使用 Cakephp 创建一个单选按钮 结果应该类似于 div div
  • 有没有 CakePHP 离线手册

    曾经有过 但似乎没有任何直接联系 经过一番挖掘 发现了一些答案 我认为分享这些答案会很有用 这些是一页中的手册链接 对于离线使用很有用 使用 Dardo Sordi Bogado 的构建脚本或创建 PDF 1 2 一页手册https web
  • 锚标记内的 CakePHP Span 标记

    我试图让 CakePHP 输出一个如下所示的链接 a href foo bar class some other classes span class icon new span FooBar a 所以我在我看来使用以下代码
  • 按 ID 分组和按日期排序

    lastComments this gt Comment gt find all array fields gt array Comment news id Comment date Comment content group gt arr
  • CSS 不适用于 CakePHP 应用程序

    我在使用 CakePHP 时遇到问题 找不到 CSS 当我在浏览器中查看源代码时 我可以在头部看到蛋糕通用 CSS 链接 但是当我点击它查看实际的源代码时 我收到了 404 未找到错误 Update 我已按照此处的说明进行操作 http b
  • CakePHP 3.X 中的自定义 404 页面

    我想为生产环境中出现的所有错误创建一个自定义 404 页面 例如 如果我收到缺少控制器或视图错误 那么它将重定向到http example com 404 html 另外在某些情况下我会故意重定向它http example com 404
  • cakephp 3.0 如何使用值而不是 id 填充选择字段

    我一直在寻找以前的答案 但我找到的答案与旧的 cakephp 版本有关 我有两个表 杂志 和 问题 其中存在关系 问题 属于 杂志 问题表如下所示 public function initialize array config this g
  • 当复选框条件更改时,如何使用ajax更新mysql数据库?

    我有一个在客户端按行显示的文章表 每篇文章都有一个唯一的 ID 并包含一个复选框以指示该文章是否被选中为收藏夹 如果它是最喜欢的 则该复选框已被选中 如果没有 则未选中 现在 如果特定于每一行的复选框条件发生变化 我需要 js 或 jque
  • 如何在 CakePHP 中“验证”人名?

    我有一个 PHP 脚本 应该检查 有效 的人名 但最近破解了带有空格的名称 因此我们向验证器添加了空格 除了这样做之外 有没有办法向 CakePHP 的验证器添加黑名单以阻止所有 无效 字符 而不是允许 有效 字符 注意 我 通常 知道如何
  • CakePHP 多站点(如 WPMU + 域映射)...可能吗?

    所以我刚刚开始使用 CakePHP 想知道是否可以执行以下操作 一次安装 Cake 并使用超级管理员登录 然后 管理员有权访问指定的 子站点 并能够在这些子站点上创建 编辑内容和用户 最后 能够将域名 不是子域 而是唯一域 映射到路由 所以
  • CakePHP Auth 组件使用 $this->Auth->login() 时未登录;

    我是 cakePHP 的新手 我已经阅读了他们的文档 并且正在遵循他们的简单身份验证示例 我还广泛搜索 包括本网站上的答案 来寻找我的问题的答案 我正在使用 cakePHP 2 0 我的 UsersController 的登录功能如下所示

随机推荐

  • 惰性求值和短路求值有什么区别?

    来自维基百科 惰性评估 http en wikipedia org wiki Lazy evaluation is 在编程语言理论中 惰性求值或按需调用是 延迟表达式求值的求值策略 直到需要它的值为止 短路评估 http en wikipe
  • 从 R 的句子中提取动词?

    请注意 我知道从文本中提取名词和动词 https stackoverflow com questions 2970829 extracting nouns and verbs from text它对我不起作用 因为他们使用的功能不存在于op
  • Android HTML Jsoup

    我试图从我的拼贴新闻网站获取图像的绝对 URL 但到目前为止还没有成功 我正在这个网站上工作http www dcu ie news index shtml http www dcu ie news index shtml 正如您从源中看到
  • Angular 2 AsynPipe 不支持 Observable

    我收到以下错误 EXCEPTION Cannot find a differ supporting object object Object in files async in Images 1 9 这是模板的相关部分 img 这是我的代码
  • 如何使基类中的所有隐藏名称在派生类中可访问?

    从这个问题开始 从纯虚类 A 派生的指针无法访问纯类 B 的重载方法 https stackoverflow com questions 59756738 pointer derived from pure virtual classa c
  • 使用 ui-router 和 AngularJS 的多个嵌套 ui-views

    我只想首先说 我尽可能多地查看了与此问题相关的堆栈溢出问题 但没有看到任何与我遇到的问题有关的问题 有些很相似 但又不完全一样 问题是这样的 我设置了以下 stateProvider stateProvider state root url
  • 如何在 FCM 通知中创建主题

    我正在尝试 Firebase Notification API 当我从控制台向应用程序发送下游消息时 该服务工作得非常完美 但是如何向主题注册用户发送消息 我在android端做了 FirebaseMessaging getInstance
  • 在 symfony 中找不到 PHP 模板

    我是 symfony 的新手 我想使用 PHP 模板引擎 以下是我为使其发挥作用而遵循的步骤 1 在config yml中启用PHP模板引擎 templating engines twig php 2 在routing yml中定义我的控制
  • 错误:无法在 Eclipse 中找到或加载主类

    我在 Eclipse 4 2 中运行项目时遇到问题 我有一个 Java 程序 其中有一个名为 Conversion 的类 Eclipse 可以很好地构建该项目 我可以通过导航到工作区中项目文件夹中的 bin 并输入以下命令来从命令行运行该程
  • 如果持续的接口反模式是一种犯罪行为,那么 Swing 为什么要这样做呢?

    我正在制作一个 Swing 应用程序 并意识到我有一些类需要访问同一组常量 我无法让自己宣布其中一个是它们的主要持有者 并将它们全部放在那里并让其他人参考 我想 嘿 我会让它们都从某个共同的地方继承 但 Java 不做多重继承 但我可以在事
  • Git:哪个是分支的默认配置远程?

    我有一个远程裸存储库hub 我只在master分支 下面这个错误消息的最后一句话让我想知道 我如何找出哪个是 当前分支的默认配置远程 我该如何设置它 myserver progs git remote v hub sitehub progs
  • c,传递结构作为参数

    我需要像这样传递一些结构作为函数参数 void myFunc unsigned char c 我会用myFunc 4 myFunc 8 or so 现在该函数接受一个结构作为参数 所以我尝试了 typedef struct unsigned
  • 使用 VBA 更改 Excel 图表的方向(纵向或横向)

    我正在尝试编写一个宏来自动打印我使用另一个宏在工作簿中创建的所有图表 实际上是数百个 我遇到的问题是我无法弄清楚如何使用 VBA 将图形从纵向布局更改为横向布局 我想知道是否有人可以帮助我 我尝试了下面的代码 但它在 ChartObject
  • Javascript正则表达式匹配JSON键值对的值

    给定以下键值对 我如何才能仅匹配值 包括引号 解释 我正在 IDE 中进行查找和替换 我有数百个键 值对 其中的值需要从字符串更改为对象 所以基本上替换了值 ElevationFilenameIn Input raster elevatio
  • Python set([]) 如何检查两个对象是否相等?对象需要定义哪些方法来自定义 this?

    我需要在 Python 中创建一个 容器 对象或类 它保存我也定义的其他对象的记录 该容器的一个要求是 如果两个对象被认为是相同的 则删除一个 任一对象 我的第一个想法是使用set 作为包含对象 来完成这个要求 但是 该集合不会删除两个相同
  • 为什么当我启动调试器时,我的 Visual Studio 2005 会与进程分离?

    我正在使用 VS2005 开发 Web 应用程序 当我开始调试时 它将打开网页 但立即从进程中分离 我发现如果我关闭 IDE 并重新启动它 它会正常工作一段时间 但随后又开始分离 任何对这种奇怪行为的见解都将不胜感激 你用的是IE8吗 我最
  • 让登台服务器与生产服务器相同的主要目的和意义是什么?

    在我们公司 我们有临时服务器和生产服务器 我试图在最新版本发布后让它们处于 1 1 状态 我们已经在多个主机及其许多实例上运行了 Web 应用程序 问题是 我主张在临时服务器和生产服务器上使用相同的 Web 应用程序架构 结构 以便轻松测试
  • 如何使用schedule启动一个cron作业:在Laravel 5中手动运行(实际上是10月CMS)

    我知道如何在 Linux 服务器上运行 cron 作业 我知道如何使用 schedule gt command foo gt daily 我已多次阅读此文档https laravel com docs 5 0 artisan https l
  • 我应该等待 ajax 完成才能重定向页面吗?

    I know how等待 ajax 完成 但是如果我要在一些 ajax 调用被触发后重定向页面 我应该在重定向之前等待它们完成吗 有关系吗 如果您确信 ajax 调用会成功 那么一旦 ajax 调用发生 就您的服务器而言 重定向不会影响它
  • CakePHP:从 3.9.x 升级到 4.0:bin/cake 升级 ector --rules phpunit80 挂起

    我正在将 CakePHP 3 应用程序升级到 CakePHP 4 并遵循升级指南 但是 那bin cake upgrade rector rules phpunit80