我想在我的项目中要求这个包: lucianocosta/jquery.mtz.monthpicker
所以我在 composer.json 文件中添加了它:
{
"name": "yiisoft/yii2-app-advanced",
"description": "Yii 2 Advanced Application Template",
"keywords": ["yii2", "framework", "advanced", "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.0",
"yiisoft/yii2": "*",
"yiisoft/yii2-bootstrap": "*",
"yiisoft/yii2-swiftmailer": "*",
"yiisoft/yii2-gii": "*",
"yiisoft/yii2-faker": "*",
"google/apiclient": "1.0.*@beta",
"asimlqt/php-google-spreadsheet-client": "2.2.*",
"phpoffice/phpexcel": "*",
"lucianocosta/jquery.mtz.monthpicker": "dev-master"
},
"require-dev": {
"yiisoft/yii2-codeception": "*",
"yiisoft/yii2-debug": "*"
},
"config": {
"process-timeout": 1800
},
"extra": {
"asset-installer-paths": {
"npm-asset-library": "vendor/npm",
"bower-asset-library": "vendor/bower"
}
}
}
然后我运行composer update
命令但是收到了这条消息:
您的要求无法解析为可安装的软件包。
问题1 - 在任何版本中找不到请求的包 lucianocosta / jquery.mtz.monthpicker ,包名中可能有拼写错误。
潜在原因:
如果不改变任何最小稳定性设置,我可以成功地要求此包吗?
答案 0 :(得分:2)
您需要的软件包不是Composer软件包,因为Composer是PHP软件包管理器,您要使用的软件包仅用于前端。
前端包与Bower保持一致,但是Yii建议您install composer-assets-plugin
which can handle Bower packages through composer.json
,然后您不需要将它们保存在单独的bower.json
中。
然后你需要找到正确的Bower包名。您可以通过网站http://bower.io/search/?q=monthpicker
执行此操作,或者如果您安装了Bower,则可以从命令行搜索此包,如下所示:
bower search jquery.mtz.monthpicker
Search results:
monthpicker git://github.com/lucianocosta/jquery.mtz.monthpicker.git
如果您有自己的软件包名称(在本例中为monthpicker
),则只需将其添加到前缀为require
的{{1}}的{{1}}部分中(在此案例composer.json
。
以下是bower-asset/
部分的固定版本:
bower-asset/monthpicker
答案 1 :(得分:1)
问题是请求的包不是作曲家包(它没有composer.json
),并且不能通过packagist.org存储库获得。这意味着该软件包的作者没有为作曲家提供支持。
存储库是包源。它是包/版本的列表。 Composer将查看您的所有存储库以查找项目所需的包。
默认情况下,仅在Composer中注册Packagist存储库。您可以通过在composer.json中声明它们来为项目添加更多存储库。
但是可以在composer.json
中注册新的存储库。以下代码注册了lucianocosta/jquery.mtz.monthpicker
的存储库,并使用RobLoach/component-installer
将它们从/vendor
文件夹中删除。如果您不需要,只需删除extra
部分中的require
和package
部分。
"repositories": [
{
"type": "package",
"package": {
"name": "lucianocosta/jquery.mtz.monthpicker",
"version": "1.0",
"type": "component",
"dist": {
"url": "https://github.com/lucianocosta/jquery.mtz.monthpicker/archive/master.zip",
"type": "zip"
},
"extra": {
"component": {
"scripts": [
"jquery.mtz.monthpicker.js"
]
}
},
"require": {
"robloach/component-installer": "*"
}
}
}
],
"require": {
"lucianocosta/jquery.mtz.monthpicker": "1.*"
},