当我symfony self-update
出现以下错误时,该如何解决?
Backup failed, rename D:\SERVER\Symfony\symfony.exe C:\Users\FairyWilbury\.symfo
ny\autoupdate\2019-07-19_14-57-14-79024bb-old: The system cannot move the file t
o a different disk drive.. Canceling upgrade.
UPD。
我刚刚意识到,最新的symfony版本似乎是4.3和4.4,该版本将于11月发布https://symfony.com/roadmap/4.4
但是,每当我运行symfony new --full %projectName%
时,它都建议我应更新为4.6(然后如上所述无法更新)。命令行屏幕截图:这个问题可能是什么?
答案 0 :(得分:6)
首先,您要混合使用 Symfony本地Web服务器和 Symfony PHP框架。您可以使用Web服务器(这是一个可执行的命令行开发人员工具)来启动基于Symfony的新项目,或者启动本地服务器,以便在开发Web应用程序时对其进行测试和调试。另一方面,该框架是您在其上构建Web应用程序的代码库。
跑步时
symfony self-update
从命令行中,您(尝试)更新Web服务器,而不是框架。
在撰写本文时,Web服务器的最新版本为4.12.10,而框架为5.0.5(或4.4.5),因此,如您所见,它们完全独立于彼此。
回到最初的问题,我也为此感到困惑,发现我们都使用Windows,并将Web服务器(symfony.exe)安装到驱动器D:中的文件夹中(在您的情况下为D: \ SERVER \ Symfony)。在运行时,它将配置文件和其他文件存储在Windows用户帐户(C:\ Users \ FairyWilbury)文件夹中的“ .symfony”目录中。在自我更新过程中,它将尝试移动原始symfony.exe文件。由于某些未知原因,即使在管理员特权的命令行窗口中,它也无法在不同的驱动器之间执行此操作。
很奇怪,我发现的唯一解决方法是以下方法。
symfony self-update
-这次进展顺利我知道这有点麻烦,但是我们必须考虑Windows并不是PHP应用程序最流行的开发平台。 ;)
答案 1 :(得分:0)
好吧,在这种情况下,我真的没有发现任何关于symfony self-update
的东西,所以...
在版本标题的第三部分(即4.6.1中的1)是一个补丁程序,其中仅包含错误修复程序,因此您首先需要最新的次要版本4.6.0
。
基本上,您需要遵循以下文档: symfony/doc/upgrade_patch.html
并且,从上面开始,首先,您需要(认真)遵循此文档: symfony/doc/4.2/upgrade_minor.html
此upgrade_minor.html写道:The composer.json file is configured to allow Symfony packages to be upgraded to patch versions.
,所以...
答案 2 :(得分:0)
这个命令帮助我更新了 symfony
二进制文件:
sudo symfony self-update