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

时间:2017-08-08 10:45:54

标签: php laravel composer-php filezilla

想要在没有作曲家的情况下手动安装Laravel-Excel(Maatwebsite)包,但我不知道如何。

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

如果只有Filezilla允许使用" composer update"的命令提示符,那么它将更容易。

7 个答案:

答案 0 :(得分:6)

我有解决办法! 由于网络安全,我无法在公司使用Composer。但是我可以下载zip形式的github并手动安装。以下是我的 HTMLPurifier 示例:

  1. 将库喵/净化器下载并解压缩到供应商目录https://github.com/mewebstudio/Purifier
  2. vendor / composer / autoload_psr4.php
  3. 中添加以下行

这句话将从供应商/喵/净化器/ src加载所有文件,并自动在命名空间Mews \ Purifier \

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

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

如果在完成第3步之前进行公共配置,则找不到Mews \ Purifier \ Fades \ Purifier

$ php artisan vendor:publish --provider =“ Mews \ Purifier \ PurifierServiceProvider”

  1. vendor / composer / installed.json
  2. 中的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/"
        }
    }
},

现在运行此配置,然后将vendor / mews / purifier / config移到config文件夹

$ php artisan vendor:publish --provider =“ Mews \ Purifier \ PurifierServiceProvider”

答案 1 :(得分:3)

  1. 将包添加到vendor文件夹。您可以使用filezilla
  2. 上传它
  3. 在\ vendor \ composer \ autoload_namespaces.php
  4. 中添加引用
  5. 在\ vendor \ composer \ autoload_psr4.php
  6. 中添加引用

    来源laravel.io

答案 2 :(得分:1)

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

答案 3 :(得分:0)

根据服务器的严格程度,您可以通过SSH连接到服务器。但是在本地进行,然后上传所需的文件通常是可行的方法。

如果您不擦除缓存,则可能需要运行composer autodump。

答案 4 :(得分:0)

按照以下步骤很容易做到 下载程序包并将文件设置在应用程序文件夹中

YourProject/app/Laravel-Excel/

,然后在自动加载中将路径添加到composer.json

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

运行composer dump-autoload

解决方案引用了这个问题https://regex101.com/r/rqedfJ/1

答案 5 :(得分:0)

如果一切都在本地环境下工作,则将您的软件包和composer文件夹复制到位于供应商的服务器上

答案 6 :(得分:-1)

上载\ vendor \ maat网站 将\ vendor \ maatwebsite \ excel \ src \ config \ excel.php复制到\ config \ excel.php