我删除了我的vendor/
目录并运行了composer update
,但它给了我一个错误。
$ composer update
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.
Problem 1
- The requested package bower-asset/jquery could not be found in any version, there may be a typo in the package name.
Problem 2
- yiisoft/yii2 2.0.7 requires bower-asset/jquery 2.2.*@stable | 2.1.*@stable | 1.11.*@stable -> no matching package found.
- yiisoft/yii2 2.0.6 requires bower-asset/jquery 2.1.*@stable | 1.11.*@stable -> no matching package found.
- yiisoft/yii2 2.0.5 requires bower-asset/jquery 2.1.*@stable | 1.11.*@stable -> no matching package found.
- yiisoft/yii2 2.0.4 requires bower-asset/jquery 2.1.*@stable | 1.11.*@stable -> no matching package found.
- yiisoft/yii2 2.0.3 requires bower-asset/jquery 2.1.*@stable | 1.11.*@stable -> no matching package found.
- yiisoft/yii2 2.0.2 requires bower-asset/jquery 2.1.*@stable | 1.11.*@stable -> no matching package found.
- yiisoft/yii2 2.0.1 requires bower-asset/jquery 2.1.*@stable | 1.11.*@stable -> no matching package found.
- yiisoft/yii2 2.0.0 requires bower-asset/jquery 2.1.*@stable | 1.11.*@stable -> no matching package found.
- Installation request for yiisoft/yii2 * -> satisfiable by yiisoft/yii2[2.0.0, 2.0.1, 2.0.2, 2.0.3, 2.0.4, 2.0.5, 2.0.6, 2.0.7].
Potential causes:
- A typo in the package name
- The package is not available in a stable-enough version according to your minimum-stability setting
see <https://getcomposer.org/doc/04-schema.md#minimum-stability> for more details.
Read <https://getcomposer.org/doc/articles/troubleshooting.md> for further common problems.
我什至尝试手动添加"bower-asset/jquery": "*",
但没有帮助。
composer.json
{
"name": "yiisoft/yii2-app-basic",
"description": "Yii 2 Basic Application Template",
"keywords": ["yii2", "framework", "basic", "application 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",
"ext-gd": "*",
"ext-soap": "*",
"ext-mcrypt": "*",
"ext-mbstring": "*",
"yiisoft/yii2": "*",
"yiisoft/yii2-bootstrap": "*",
"yiisoft/yii2-swiftmailer": "*",
"yiisoft/yii2-redis": "~2.0",
"yiisoft/yii2-debug": "*",
"bower-asset/jquery": "*",
"exeu/apai-io": "*",
"mervick/yii2-mthaml": "*",
"googleads/googleads-php-lib": "~6.5"
},
"require-dev": {
"heroku/heroku-buildpack-php": "*",
"yiisoft/yii2-codeception": "*",
"yiisoft/yii2-gii": "*",
"yiisoft/yii2-faker": "*"
},
"config": {
"process-timeout": 1800
},
"scripts": {
"post-create-project-cmd": [
"yii\composer\Installer::postCreateProject"
],
"compile": "php yii asset assets.php config/assets-prod.php"
},
"extra": {
"yii\composer\Installer::postCreateProject": {
"setPermission": [
{
"runtime": "0777",
"web/assets": "0777",
"yii": "0755"
}
],
"generateCookieValidationKey": [
"config/web.php"
]
},
"asset-installer-paths": {
"npm-asset-library": "vendor/npm",
"bower-asset-library": "vendor/bower"
}
},
"autoload": {
"classmap": [
"vendor/googleads/googleads-php-lib/src/Google/Api/Ads/Common/Util"
]
}
}
这个包似乎存在。
$ composer search bower | grep jquery
bower-asset/jquery
你应该先运行
composer global require "fxp/composer-asset-plugin:1.*"
此命令安装作曲家资产插件,该插件允许通过作曲家管理 bower 和 npm 包依赖项。
正如Yii的一位贡献者所说
我们将在 2.1 中修复此问题。
我删除了"bower-asset/jquery": "*"
行并运行composer global require fxp/composer-asset-plugin --no-plugins
然后composer update worked
.作曲家似乎很烂。我希望它能像 Ruby 一样gem
工作。
如果你不想使用插件为 Yii2 安装 Bower,你可以试试 yii2-bower-asset。
这个包为 Yii2 修复了 Bower,它将 Bower 和 Composer 分开。
但是,Yii 将在 2.1 版本中使用 Asset Packagist 而不是 Plugin,但不是现在。
https://github.com/yidas/yii2-bower-asset