不使用 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-select2git rm --cached yii2-widget-select2中删除.git

存储、提交、推送。

【讨论】:

以上是关于不使用 Composer 手动安装 Yii2 扩展的主要内容,如果未能解决你的问题,请参考以下文章

手动安装 yii2-redis 扩展

手动安装 yii2-redis 扩展

Windows环境下Composer的安装和yii2的安装

YII2 搭建redis拓展(教程)

Yii2安装任务调度扩展

yii2 linux安装教程