Composer가 [Reflection]를 던지다예외] 클래스 Fxp\Composer\자산 플러그인\저장소\npmRepository가 존재하지 않습니다.
최신 버전의 작곡가(1.0.0. 안정)를 설치하고 Yii2 프로젝트에서 다음과 같이 입력했습니다.
php composer.phar update
다음과 같은 오류가 발생합니다.
[반성]예외] 클래스 Fxp\Composer\자산 플러그인\저장소\npmRepository가 존재하지 않습니다.
[ErrorException] Fxp\Composer 선언자산 플러그인\Repository\Abstract AssetsRepository:: whatProvides()가 Composer\Repository\: whatProvides(Composer\DependencyResolver\)와 호환되어야 합니다.풀 $pool, $name, $bypassFilters = false)
누가 어떻게 고치는지 좀 도와줄래요?
여기 제 작곡가가 있습니다.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"
}
}
}
) 9월 (2016년 3월 말)Composer\Repository\ComposerRepository::whatProvides
api가 변경되었습니다. (#2668) 따라서, 인스톨 되어 있는 경우는,fxp/composer-asset-plugin
이치노이치노
php composer.phar global update fxp/composer-asset-plugin --no-plugins
업데이트가 작동하지 않으면 이 기능을 사용해 보십시오.
composer global require fxp/composer-asset-plugin --no-plugins
는 결국 이 .fxp
로 이동합니다..composer
디렉토리로 이동합니다.제 설정에서는, 다음과 같은 조작이 가능합니다.
rm -rf ~/.composer/vendor/fxp
필요한 경우 업데이트된 플러그인을 다시 다운로드하기만 하면 됩니다.
합니다.composer.json
다음을 실행합니다.
vi ~/.composer/composer.json
하다
{
"require": {
"fxp/composer-asset-plugin": "1.1.*"
}
}
의 버전이기 에 효과가 .fxp/composer-asset-plugin
was like 같다1.1-beta04
했을 때"1.1.8"
updating updating 명 and and and 。
php /usr/bin/composer global update fxp/composer-asset-plugin --no-plugins
제 글로벌 않고요.composer.json
이런 가 발생했어요
요구 사항을 설치 가능한 패키지 세트로 해결할 수 없습니다.
문제 1 - fxp/composer-asset-plugin [v1.0.0-beta3]에 의해 충족되는 fxp/composer-asset-plugin 1.0.0-beta3 설치 요구.- fxp/syslog-syslog v1.0.0-syslog3을 사용하려면 composer-syslog-api 1.0.0 -> 일치하는 패키지를 찾을 수 없습니다.
생각할 수 있는 원인: - 패키지 이름의 오타 - 최소 지연 설정에 따라 패키지는 안정 지연 버전에서는 사용할 수 없습니다.자세한 내용은 https://getcomposer.org/doc/04-schema.md#minimum-stability를 참조하십시오.
그 외의 일반적인 문제에 대해서는, https://getcomposer.org/doc/articles/troubleshooting.md 를 참조해 주세요.
내 경우 Yii2 프로젝트
$ composer
[ReflectionException]
Class Fxp\Composer\AssetPlugin\Repository\NpmRepository does not exist
[ErrorException]
Declaration of Fxp\Composer\AssetPlugin\Repository\AbstractAssetsRepository
::whatProvides() should be compatible with Composer\Repository\ComposerRepo
sitory::whatProvides(Composer\DependencyResolver\Pool $pool, $name, $bypass
Filters = false)
Yii2 の 더더 。vendor/fxp
는 바꿔야 .composer-asset-plugin
삭제할 수도 있습니다.
다른 솔루션이 모두 효과가 없는 경우 대체 솔루션으로 Asset Packagist를 사용해 보십시오.
다음과 같이 bower-asset/bootstrap 및 npm-asset/jquery 패키지를 composer.json에 추가합니다.
"require": { "bower-asset/bootstrap": "^3.3", "npm-asset/jquery": "^2.2" }
다음 내용으로 리포지토리 블록을 추가합니다(아직 없는 경우 추가).
"repositories": [ { "type": "composer", "url": "https://asset-packagist.org" } ]
달려.
composer install
(또는composer update
)자산 패키지가 자산을 다른 디렉터리에 설치하는 것을 고려하여 응용 프로그램 구성(일반적으로 web.php라고 함)에 다음 행을 추가합니다.
$config = [ 'aliases' => [ '@bower' => '@vendor/bower-asset', '@npm' => '@vendor/npm-asset', ], ];
이러한 순서는 시간이 지남에 따라 변경될 수 있습니다.리포 웹사이트에서 복사한 것이기 때문에 웹사이트에 무슨 일이 생겼을 때 제시간에 사용할 수 있습니다.저는 레포의 작성자는 아니지만, 레포의 노고에 진심으로 감사드립니다.프로젝트에 대한 자세한 내용은 https://asset-packagist.org/site/about을 참조하십시오.
composer를 사용하는 데 어려움을 겪고 있는 경우 다음과 같은 유용한 명령을 사용할 수 있습니다.
composer clear-cache
- 컴포저 관련 캐시 클리어
composer install -vvv
- "vvv" 파라미터를 추가하여 설치 프로세스 관련 출력을 표시합니다(디버깅에 도움이 됩니다).
composer global show
- fxp/composer-asset-plugin이 이미 설치되어 있는지 확인할 때 유용합니다.제 경우 이미 의존관계로 인식되지 않았고 앞서 설명한 솔루션도 완벽하게 작동했습니다.당신에게도 효과가 있기를 바랍니다!
글로벌 레벨에서 요구하면 영구적인 수정을 할 수 있으며, 그 후 다른 모든 프로젝트에서 해결됩니다.하지만 모든 팀원들에게 팁을 주는 것을 잊지 마세요.
이를 프로젝트 범위에서 추가하는 것이 가장 좋습니다.이렇게 하면 모든 사람이 해결됩니다.
그래서:
composer require fxp/composer-asset-plugin
언급URL : https://stackoverflow.com/questions/36437837/composer-throws-reflectionexception-class-fxp-composer-assetplugin-repository
'source' 카테고리의 다른 글
리터럴 키를 가진 PHP 연결 배열 앞에 추가하시겠습니까? (0) | 2022.10.26 |
---|---|
모든 텍스트 기반 필드에 범용 varchar(255)를 사용하면 단점이 있습니까? (0) | 2022.10.06 |
Vue-router: Enter 가드가 하위 경로에 대해 제대로 작동하지 않습니다. (0) | 2022.10.06 |
jQuery AJAX 교차 도메인 (0) | 2022.10.06 |
위반 장시간 실행 JavaScript 태스크에 xxms가 소요되었습니다. (0) | 2022.10.06 |