Laravel,如何在没有作曲家的情况下手动安装软件包



想在没有作曲家的情况下手动安装Laravel-Excel(Maatwebsite(软件包,但我不知道怎么做。

为什么?因为我在其他人设置的免费托管服务器中有一个 laravel 项目,我只能使用 Filezilla 访问来编辑/下载/上传代码。

如果只有Filezilla允许可以使用"作曲家更新"的命令提示符,那么它会更容易。

我有解决方案! 由于安全网络,我无法在我的公司使用作曲家。但是我可以下载zip表单github并手动安装。下面是我的HTMLPurifier示例:

  1. 下载库 Mews/净化器并将其解压缩到供应商目录 https://github.com/mewebstudio/Purifier
  2. 供应商/作曲家/autoload_psr4.php中添加以下行

这句话将加载来自供应商/mews/purifier/src 的所有文件,并在命名空间 Mews\Purifier\ 中自动加载

'Mews\Purifier\' => array($vendorDir . '/mews/purifier/src'),

有时您需要将库添加到autoload_namespaces.php中,请阅读 https://getcomposer.org/doc/04-schema.md#autoload

如果在完成步骤 3 之前进行公共配置,则找不到马厩\净化器\外墙\净化器

$ php 工匠供应商:发布 --provider="Mews\Purifier\PurifierServiceProvider">

  1. 供应商/作曲家/已安装.json 中添加下面的 json

这对于作曲家历史记录,提供程序和别名将在config/app/php中加载,以注册新的提供程序

{
"name": "mews/purifier",
"version": "v2.0.12",
"type": "library",
"extra": {
"laravel": {
"providers": [
"Mews\Purifier\PurifierServiceProvider"
],
"aliases": {
"Purifier": "Mews\Purifier\Facades\Purifier"
}
}
},
"autoload": {
"psr-4": {
"Mews\Purifier\": "src/"
}
}
},

现在你运行这个配置,然后供应商/马厩/净化器/配置将被移动到配置文件夹

$ php 工匠供应商:发布 --provider="Mews\Purifier\PurifierServiceProvider">

  1. 将包添加到供应商文件夹。您可以使用filezilla上传它
  2. 在 \vendor\composer\autoload_namespaces.php 中添加引用
  3. 在\供应商\作曲家\autoload_psr4.php中添加引用

来源 laravel.io

遵循这个很容易做到 下载软件包并在应用程序文件夹中设置文件

YourProject/app/Laravel-Excel/

然后在自动加载中添加 composer.json 的路径

"autoload": {
...
"classmap": [
"database/seeds",
"database/factories"
"app/Laravel-Excel"
],
...
},

运行composer dump-autoload

解决方案参考此问题参考答案

在本地下载包,然后上传包文件夹(在供应商下找到(以及更新的composer.json

根据服务器的严格程度,您可以通过 SSH 连接到您的服务器。但是在本地执行此操作然后上传所需的文件通常是要走的路。

如果不擦除缓存,则可能需要运行作曲家自动转储。

如果一切在本地环境中正常工作,则将您的包和作曲家文件夹复制到位于供应商处的服务器

upload \vendor\maatwebsite 将 \vendor\maatwebsite\excel\src\config\excel.php 复制到 \config\excel.php

最新更新