我正在使用Yii2 PHP框架开发一个项目.Yii2使用composer和fxp/composer-asset-plugin来处理项目依赖性.
问题是新开发人员进入项目并运行时
git clone <project-repo>
composer install
Run Code Online (Sandbox Code Playgroud)
或者其他开发人员想要安装一个新的扩展程序,composer require <package-name>经常(经常)出现问题,作曲家(或者可能是资产插件,我上面提到过)显示另一个不明确的错误消息(可能仅适用于我).开发人员花费大量时间来查找错误的含义以及如何处理错误.
今天我在Windows机器上克隆了项目,安装了最新的作曲家和资产插件版本,运行composer install,等待约20分钟后,得到了这个:
在我的Linux系统上安装了相同的依赖项而没有错误.
问题№1 此错误意味着什么,我该如何解决?
问题№2
将vendor/目录添加到版本控制是不是很糟糕?(我读过https://getcomposer.org/doc/faqs/should-i-commit-the-dependencies-in-my-vendor-directory.md)
问题№3 也许我做错了或者有一个秘密,我不知道,它允许在没有如此巨大的时间损失的情况下管理Yii2中的依赖关系.
非常感谢.
composer.json:
{
"name": "yiisoft/yii2-app-basic",
"description": "Yii 2 Basic Project Template",
"keywords": ["yii2", "framework", "basic", "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"
},
"repositories": [
{
"type": "git",
"url": "https://github.com/ZeroVision/swiftmailer.git"
}
],
"minimum-stability": "dev",
"require": {
"php": ">=5.4.0",
"giggsey/libphonenumber-for-php": "~7.0",
"yiisoft/yii2": "2.0.7",
"swiftmailer/swiftmailer": "dev-fixStreamBufferTransport",
"yiisoft/yii2-bootstrap": ">=2.0.3",
"yiisoft/yii2-swiftmailer": "*",
"yiisoft/yii2-authclient": "^2.0@dev",
"2amigos/yii2-date-picker-widget": "~1.0",
"kartik-v/yii2-widget-timepicker": "*",
"kartik-v/yii2-widget-rating": "*",
"2amigos/yii2-gallery-widget": "~1.0",
"2amigos/yii2-ckeditor-widget": "~1.0",
"uran1980/yii2-scroll-to-top": "dev-master",
"yii-cms/yii2-robokassa": "^1.1",
"onokumus/metismenu": "v2.4.2",
"rmrevin/yii2-fontawesome": "*",
"dektrium/yii2-user": "*",
"p2made/yii2-sb-admin-theme": "1.1.2",
"p2made/yii2-p2y2-things": "*",
"p2made/yii2-asset-collection": "*",
"demi/image": "~1.0",
"demi/cropper": "~1.0",
"cyneek/yii2-widget-upload-crop": "dev-master",
"Nemmo/yii2-attachments": "*",
"2amigos/yii2-file-input-widget": "*",
"rkit/yii2-ajaxform-plugin": "^0.0.4",
"nsept/yii2-birthday-picker": "*",
"bryglen/yii2-apns-gcm": "1.0.4"
},
"require-dev": {
"yiisoft/yii2-codeception": "*",
"yiisoft/yii2-debug": "*",
"yiisoft/yii2-gii": "*",
"yiisoft/yii2-faker": "*"
},
"config": {
"process-timeout": 1800
},
"scripts": {
"post-create-project-cmd": [
"yii\\composer\\Installer::postCreateProject"
]
},
"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"
}
}
}
Run Code Online (Sandbox Code Playgroud)
小智 13
尝试安装asset-plugin的dev-master
composer global require "fxp/composer-asset-plugin:dev-master"
Run Code Online (Sandbox Code Playgroud)
它解决了我们的很多问题.
| 归档时间: |
|
| 查看次数: |
8773 次 |
| 最近记录: |