Mar*_*lić 80 php composer-php yii2
我安装了最新版本(1.0.0.稳定版)的作曲家,在我的Yii2项目中输入了这个:
php composer.phar update
它给了我这个错误:
[ReflectionException]类Fxp\Composer\AssetPlugin\Repository\NpmRepository不存在
[ErrorException]声明Fxp\Composer\AssetPlugin\Repository\AbstractAssetsRepository :: whatProvides()应与Composer\Repository\ComposerRepository :: whatProvides(Composer\DependencyResolver\Pool $ pool,$ name,$ bypassFilters = false)兼容
有人可以帮我解决这个问题吗?
这是我的composer.json
{
"name": "yiisoft/yii2-app-advanced",
"description": "Yii 2 Advanced Project Template",
"keywords": ["yii2", "framework", "advanced", "project template"],
"homepage": "http://www.yiiframework.com/",
"type": "project",
"license": "BSD-3-Clause",
"support": {
"issues": "https://github.com/yiisoft/yii2/issues?state=open",
"forum": "http://www.yiiframework.com/forum/",
"wiki": "http://www.yiiframework.com/wiki/",
"irc": "irc://irc.freenode.net/yii",
"source": "https://github.com/yiisoft/yii2"
},
"minimum-stability": "stable",
"require": {
"php": ">=5.4.0",
"yiisoft/yii2": ">=2.0.6",
"yiisoft/yii2-bootstrap": "*",
"yiisoft/yii2-swiftmailer": "*",
"kartik-v/yii2-widget-fileinput": "@dev",
"golonka/bbcodeparser": "^2.2"
},
"require-dev": {
"yiisoft/yii2-codeception": "*",
"yiisoft/yii2-debug": "*",
"yiisoft/yii2-gii": "*",
"yiisoft/yii2-faker": "*"
},
"config": {
"process-timeout": 1800
},
"extra": {
"asset-installer-paths": {
"npm-asset-library": "vendor/npm",
"bower-asset-library": "vendor/bower"
}
}
}
Run Code Online (Sandbox Code Playgroud)
Fed*_*kun 181
大约九天前(2016年3月底左右),Composer\Repository\ComposerRepository::whatProvidesapi改变了.(#2668)因此,如果您已fxp/composer-asset-plugin全局安装,则应更新它.你可以这样做:
php composer.phar global update fxp/composer-asset-plugin --no-plugins
Run Code Online (Sandbox Code Playgroud)
Jav*_*dov 62
如果更新不起作用,请尝试此操作.
composer global require fxp/composer-asset-plugin --no-plugins
Run Code Online (Sandbox Code Playgroud)
Ale*_*ara 22
我最终通过从fxp目录中删除目录来解决问题.composer.在我的设置上,这可以解决问题:
rm -rf ~/.composer/vendor/fxp
Run Code Online (Sandbox Code Playgroud)
现在当需要它时,它可以重新下载更新的插件.
尝试composer.json通过运行来编辑您的全局:
vi ~/.composer/composer.json 然后确保你有这一行:
{
"require": {
"fxp/composer-asset-plugin": "1.1.*"
}
}
Run Code Online (Sandbox Code Playgroud)
上面的答案对我不起作用,因为我的版本fxp/composer-asset-plugin就像是1.1-beta04,当我将其更改为"1.1.8"并运行更新命令时:
php /usr/bin/composer global update fxp/composer-asset-plugin --no-plugins
Run Code Online (Sandbox Code Playgroud)
它解决了这个问题.但没有编辑我的全局composer.json,它给了我这个错误:
您的要求无法解析为可安装的软件包集.
问题1 - fxp/composer-asset-plugin 1.0.0-beta3的安装请求 - > fxp/composer-asset-plugin [v1.0.0-beta3]可满足. - fxp/composer-asset-plugin v1.0.0-beta3需要composer-plugin-api 1.0.0 - >找不到匹配的包.
可能的原因: - 包名称中的拼写错误 - 根据您的最小稳定性设置,包中没有足够稳定的版本,请参阅https://getcomposer.org/doc/04-schema.md#minimum-stability for更多细节.
阅读https://getcomposer.org/doc/articles/troubleshooting.md以了解更多常见问题.