问下 如何把下载下来的库文件直接使用 ?

我这边项目在内网里面,没法用 composer,然后我想安装一个插件,我把那个插件包下载下来了,想如何不用 composer 能直接使用这个插件?
我本地是可以 composer 的,我能不能直接将本地 vendor 里面包的文件复制到远程上面去?

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

file

2 种方法

  1. 直接打包 vendor 目录上传是没问题的, 这里用的是相对目录

  2. composer/satis 包,自建一个仓库,如果允许的话,让这个服务器可以访问外网就行。
    composer 镜像地址改成这个

1年前 评论
讨论数量: 15
slowlyo

把整个 vendor 目录同步过去是可以正常使用的

1年前 评论

把整个包传到一个目录里面,然后目录里面创建一个 autoload.php

<?php

function classLoader($class)
{
    $path = str_replace('\\', DIRECTORY_SEPARATOR, $class);
    //根据实际情况调整file的文件路径
    $file = __DIR__ .DIRECTORY_SEPARATOR . $path . '.php';
    if (file_exists($file)) {
        require_once $file;
    }
}
spl_autoload_register('classLoader');

要用这个包的类文件,加 require_once "autoload.php";

1年前 评论
忆往昔弹指间 1年前
小猪蹄子 (作者) 1年前
小猪蹄子 (作者) 1年前
忆往昔弹指间 1年前
小猪蹄子 (作者) 1年前
<?php

require './predis/predis/autoload.php';

use Predis\Client;

$server = new Client();

var_dump($server);

这样也不是不行,但是能用 composer 还是用 composer 吧,因为很多包会依赖其他包,全部手动加载挺麻烦的。

1年前 评论

你能够同步文件到内网服务器,那最好的就是你用 composer 把要用的下载到 vendor 后复制文件夹到内网

1年前 评论
DogLoML

联网安装好 composer 依赖之后,把 vendor 整个复制到内网就行了

1年前 评论
DogLoML

有些包他自己也要依赖其他的包,而被依赖的包可能还依赖其他包,如果你手动处理依赖,会很麻烦

1年前 评论

内网无法使用 composer 那其他包是怎么部署的?

如果有版本控制的话,直接把 composer.lockvendor 提交了,本地照常用就行

如果只针对这个包,可以试下建个目录,优先从这个目录查找包

优点:不影响其他包

"repositories": [
    {
        "type": "path",
        "url": "./path_of_package"
    }
],

补充场景:

  1. 常用的包有 bug,作者还没修改
  2. 给其他包贡献代码,总不能直接改 vendor

把包下载下来,放到指定目录,修改 composer.json

Laravel

1年前 评论

file

2 种方法

  1. 直接打包 vendor 目录上传是没问题的, 这里用的是相对目录

  2. composer/satis 包,自建一个仓库,如果允许的话,让这个服务器可以访问外网就行。
    composer 镜像地址改成这个

1年前 评论
mouyong

直接上传 vendor 就可以了。

file

1年前 评论

可以的 但你的下载你环境对应的包

1年前 评论