Composer php 通过Composer提取silverstripe/upgrader的zip文件时出错
我正在将SilverStripe 3.6.5的一个实例升级到SS4.x,并且一直按照建议安装 但在“我的Windows开发”对话框上运行“composer global Required silverstripe/upgrader”会产生以下结果:Composer php 通过Composer提取silverstripe/upgrader的zip文件时出错,composer-php,silverstripe,Composer Php,Silverstripe,我正在将SilverStripe 3.6.5的一个实例升级到SS4.x,并且一直按照建议安装 但在“我的Windows开发”对话框上运行“composer global Required silverstripe/upgrader”会产生以下结果: Using version ^1.4 for silverstripe/upgrader ./composer.json has been updated Loading composer repositories with package info
Using version ^1.4 for silverstripe/upgrader
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
- Installing silverstripe/upgrader (1.4.1): Downloading (100%)
Failed to download silverstripe/upgrader from dist: There was an error extracting the ZIP file, it is either corrupted or using an invalid format.
Now trying to download from source
- Installing silverstripe/upgrader (1.4.1): Cloning 84226286c8 from cache
Installation failed, reverting ./composer.json to its original content.
我正在使用此堆栈:
- Windows 8.1
- PHP 7.1.26
- 作曲家1.8.5
- git版本2.21.0.windows.1
composer global require silverstripe/upgrader
。结果与silverstripe/upgrader相同,尽管所有其他软件包(我猜它的依赖项)都下载并安装得很好。例如,这是重新启动后命令行输出的摘录:
Changed current directory to C:/Users/Amenel/AppData/Roaming/Composer
Using version ^1.4 for silverstripe/upgrader
./composer.json has been created
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 35 installs, 0 updates, 0 removals
- Installing ocramius/package-versions (1.4.0): Downloading (100%)
- Installing composer/ca-bundle (1.1.4): Downloading (100%)
- Installing padraic/humbug_get_contents (1.1.2): Downloading (100%)
- Installing padraic/phar-updater (v1.0.6): Downloading (100%)
- Installing symfony/polyfill-ctype (v1.11.0): Downloading (100%)
- Installing symfony/filesystem (v4.3.1): Downloading (100%)
...
当我在上面执行web搜索时,我似乎找不到与此特定错误相关的任何内容
同样值得注意的是:当我指定silverstripe/upgrader的早期版本(例如1.3.0)时,也会报告此错误
总而言之,我的问题是无法启动升级过程,因为通过composer安装升级程序失败。这就是我规避此问题的方法 我的目标是运行升级程序。如文档所述,实现此目的的途径是在Windows上使用Composer。但通过Composer的路径似乎被阻塞。我问自己有什么选择。在虚拟机中重新安装整个堆栈是可能的,但繁琐。我一直在想,但没有什么能吸引我 最后,我将phar文件下载到
D:\Programs\SilverStripe upgrader
,并将其重命名为upgrade-code-1.4.1.phar
。鉴于D:\Programs
已经在我的PATH
envvar中,我创建了一个文件D:\Programs\upgrade code.bat
,包含以下内容:
@ECHO OFF
php %~dp0\SilverStripe-upgrader\upgrade-code-1.4.1.phar %*
我还没有运行迁移,但是升级代码帮助
工作正常。嗯