terion / package-installer
Laravel 4 的自动软件包安装器
Requires
- php: >=5.3.0
- illuminate/config: 4.2.*
- illuminate/console: 4.2.*
- illuminate/filesystem: 4.2.*
- illuminate/support: 4.2.*
- knplabs/packagist-api: 1.1
- nesbot/carbon: 1.*
This package is not auto-updated.
Last update: 2022-02-01 12:37:07 UTC
README
此软件包提供了一个命令行界面,用于快速方便地安装软件包(任何软件包,不仅仅是Laravel特定的)。
示例
为什么?
如何安装软件包?
您去github或packagist或google,搜索所需软件包,查看其完整名称和可用版本,然后通过composer的命令行或手动修改 composer.json 来要求它,然后您在readme中查找该软件包提供的哪些服务提供商和外观,并手动复制粘贴到配置中,然后手动发布配置和资源... 这很烦人! 机器必须做这件事。
这就是解决方案。
安装
- 要求软件包
composer require terion/package-installer:~1
- 添加到
app/config/app.php中的providers数组
'Terion\PackageInstaller\PackageInstallerServiceProvider',
如何使用
1. 搜索软件包或安装已知的软件包
php artisan package:install theme
在composer中搜索软件包。这将输出找到的软件包列表,并按数字选择。 默认选择列表中的第一个软件包。
php artisan package:install yaap/theme
这将安装 yaap/theme 软件包。如果没有这样的软件包,它将回退到搜索。
2. 选择版本
选择软件包后,您将提示通过数字选择列表中的可用版本。
Available versions: [1] dev-master (2014-06-22 17:54:03) [2] 1.2.6 (2014-06-22 17:54:03) [3] 1.2.5 (2014-06-22 17:22:37) [4] 1.2.4 (2014-05-26 11:16:15) [5] 1.2.3 (2014-05-25 06:44:39) [6] 1.2.2 (2014-05-24 22:39:29) [7] 1.2.1 (2014-05-24 22:36:43) [8] 1.2.0 (2014-05-24 22:32:40) [9] 1.1.1 (2014-05-24 18:07:59) [10] 1.1.0 (2014-05-24 14:28:29) [11] 1.0.0 (2014-04-27 17:28:38) Select version by number [2]:
默认选择如果有可用,则是最新稳定版本。 如果没有稳定版本,则选择 dev-master。
3. 利益!
安装程序现在将更新 composer.json,安装软件包,搜索服务提供商和外观,修改 app/config/app.php,并发布软件包配置和资源。它还尊重 Ryan的 package installer provides.json,但仍将在没有它的前提下完成工作。
Your choice: 1.2.6
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Installing yaap/theme (1.2.6)
Loading from cache
Writing lock file
Generating autoload files
Generating optimized class loader
Package yaap/theme installed
Processing package...
Found 1 service providers:
[1] YAAP\Theme\ThemeServiceProvider
Found 1 aliases:
[1] YAAP\Theme\Facades\Theme [Theme]
您可能会遇到哪些问题
我发现的唯一问题是,一些软件包包含不应包含在应用配置中的外观,但它们确实包含了,这可能会破坏应用程序,并且应该手动修复(但这很容易)。
例如 - orchestra/support 包含大约20个外观,它们与Laravel的外观冲突。软件包安装程序通过注释冲突别名来安全地处理这种情况,在这种情况下,您应该手动删除多余的别名并取消注释旧的别名。
待办事项
- 完全自动(静默)模式
- 将参数传递给composer命令行
- 处理特定环境的软件包
- 单元测试