不使用 Composer 手动安装 Yii2 扩展
Posted
技术标签:
【中文标题】不使用 Composer 手动安装 Yii2 扩展【英文标题】:Install Yii2 extension manually without using Composer 【发布时间】:2015-08-09 09:54:46 【问题描述】:我想使用 Yii2 框架手动安装 Select 2 extension 小部件,而不使用 composer。
我完成了以下步骤,但它不起作用。
1) 将yii2-widget-select2
添加到vendor/yii-soft
2) 在我的yii-soft/extensions.php
中添加了以下代码:
'yiisoft/yii2-widget-select2' => array(
'name' => 'yiisoft/yii2-widget-select2',
'version' => '2.0.3.0',
'alias' =>
array(
'@yii/kartik' => $vendorDir . '/yiisoft/yii2-widget-select2',
),
),
3) 在视图表单中添加显示:
use kartik\select2\Select2;
<?php echo Select2::widget([
'model' => $model,
'attribute' => 'state_2',
'data' => $data,
'options' => ['placeholder' => 'Select a state ...'],
'pluginOptions' => [
'allowClear' => true,
],
]); ?>
它显示以下错误:
PHP 致命错误 – yii\base\ErrorException。班级 'kartik\select2\Select2' 未找到
【问题讨论】:
【参考方案1】:强烈建议改用作曲家。
但如果你想手动操作:
1) 从 Github 下载所需版本的存档。
2)打开composer.json
。
3) 找到 PSR-4 自动加载部分并记住它,在你的情况下:kartik/select2
。
4) 将文件解压到vendor
中的对应文件夹:vendor/kartik/select2
(不是yiisoft
!)。
5)添加到vendor/composer/autoload_psr4.php
:
'kartik\\select2\\' => array($vendorDir . '/kartik/select2'),
6)添加到vendor/yiisoft/extensions.php
:
'kartik/select2' => array (
'name' => 'kartik/select2',
'version' => '2',
'alias' => array (
'@kartik/select2' => $vendorDir . '/kartik/select2',
),
),
samdark,核心贡献者之一在他的官方博客here 上有一篇俄语文章。它基本上是简短的翻译版本。
如您所见,要做的工作量很大。将它乘以扩展的数量就会变得很痛苦。
说真的,请使用composer
。楼主不支持的话,再找一个吧。
【讨论】:
不能再同意了。为什么要让自己这么难?在最坏的情况下,您只需将 composer.phar 添加到您自己的文件中并像这样运行它。 依赖关系怎么样,你将如何管理它?在本地安装,然后通过 ftp 上传更容易、更快捷【参考方案2】:您可以使用yii2-workbench 包。它设计用于无需作曲家即可轻松集成软件包。它支持作曲家自动加载和引导
【讨论】:
虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。 看起来像是你自己的扩展。【参考方案3】:是子库.GIT
,从vendor\kartik-v\yii2-widget-select2
和git rm --cached yii2-widget-select2
中删除.git
存储、提交、推送。
【讨论】:
以上是关于不使用 Composer 手动安装 Yii2 扩展的主要内容,如果未能解决你的问题,请参考以下文章