Chr*_*own 6 php symfony composer-php
我有一个使用 symfony/flex 的项目,其中我无法运行composer install
或composer update
. 我也无法使用 symfony/flex 作为依赖项创建新的作曲家项目,因为失败是相同的。例如;
mkdir foo && cd foo && composer require symfony/flex -vvv
Run Code Online (Sandbox Code Playgroud)
始终有以下输出;
...
Package operations: 1 install, 0 updates, 0 removals
Installs: symfony/flex:v1.2.6
- Installing symfony/flex (v1.2.6): Reading /Users/me/.composer/cache/files/symfony/flex/17b622276922e6347ea129acd6238ae1c41d96b6.zip from cache
Loading from cache
Extracting archiveExecuting command (CWD): unzip -qq '/Users/me/projects/foo/vendor/symfony/flex/2064a553f7cdf064ba8c1b62c7087ec6' -d '/Users/me/projects/foo/vendor/composer/65215880'
Loading plugin Symfony\Flex\Flex
Downloading https://flex.symfony.com/versions.json
Run Code Online (Sandbox Code Playgroud)
下载在下载 versions.json 时挂起几秒钟,然后默默失败。vendor/symfony/flex
存在。
这次失败的原因可能是什么?我的同事可以成功运行相同的命令,因此我假设本地作曲家存在问题。我尝试重新安装 Composer 并清除缓存,但没有成功。
编辑:现在在现有项目中运行时composer update -vvv
我得到以下输出
...
Downloading https://repo.packagist.org/packages.json
Run Code Online (Sandbox Code Playgroud)
它也挂在哪里,所以看起来 Composer 无法下载某些 JSON 文件?软件包下载得很好,所以看起来不像没有互联网。
编辑2:我还可以确认使用composer update --no-plugins
在现有项目中是否有效。
wee*_*gee 18
当作曲家没有按预期工作时,您应该像这样重置它并更新它。第一的
$ composer clearcache
Run Code Online (Sandbox Code Playgroud)
然后更新
$ composer self-update
Run Code Online (Sandbox Code Playgroud)
然后运行诊断
$ composer diagnose
Run Code Online (Sandbox Code Playgroud)
然后cd到composer.json所在的位置并执行
$ composer dump-autoload
Run Code Online (Sandbox Code Playgroud)
然后
$ composer install
Run Code Online (Sandbox Code Playgroud)
应该解决这个问题。另一种方法包括
$ composer update symfony/flex --no-plugins --no-scripts
Run Code Online (Sandbox Code Playgroud)
symfony/flex
此外,这可能是由于和之间的冲突而引起的symfony/symfony
。要消除该冲突,请按照以下步骤操作
$ composer remove symfony/symfony
Run Code Online (Sandbox Code Playgroud)
然后像这样编辑你的composer.json
文件
{
"require": {
"symfony/flex": "^1.0",
},
"conflict": {
"symfony/symfony": "*"
}
}
Run Code Online (Sandbox Code Playgroud)
旧的 Flex 基础设施正在关闭,您需要将 Flex 更新到至少 1.17.1:symfony.com/blog/upgrade-flex-on-your-symfony-projects
为此,您需要运行:
composer update symfony/flex --no-plugins --no-scripts
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
19778 次 |
最近记录: |