首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在生产运行时从远程git加载composer包,在开发环境下从本地包加载?

如何在生产运行时从远程git加载composer包,在开发环境下从本地包加载?
EN

Stack Overflow用户
提问于 2021-10-31 19:38:54
回答 1查看 101关注 0票数 1

我有两个composer文件可以在每个环境中运行composer

代码语言:javascript
复制
"repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/igorhaf/laravel-admin"
        }
    ],
    "require": {
        "php": "^7.2.5|^8.0",
        "fideloper/proxy": "^4.4",
        "guzzlehttp/guzzle": "^7.4",
        "laravel/framework": "^7.0",
        "laravel/telescope": "^3.0",
        "laravel/tinker": "^2.5",
        "encore/laravel-admin": "dev-master"
    },
EN

回答 1

Stack Overflow用户

发布于 2021-11-01 00:21:04

如果我清楚地了解您的用例,那么您开发的是自定义Laravel包,并且您不希望在本地测试它之前总是必须推送它。

绝对有它的用例。我个人使用它。使用这种方法,您的composer.json可以在本地和服务器上保持不变。不需要改变任何东西。

,,

  1. ,你需要https://github.com/franzliedke/studio包。文档很有说明性。您可以通过composer全局安装它。虽然可以为每个项目安装composer global require franzl/studio,但这相当繁琐,因为您可能只在本地需要它。

在项目根目录下运行

  1. ,运行studio load path/to/your/local/vendor/directory/* (如果您想要目录中的所有包)或studio load path/to/your/local/package (对于单个包。您可以添加多个包)。这将在根目录下生成一个studio.json文件。

例如:

代码语言:javascript
复制
{
    "version": 2,
    "paths": [
        "path/to/local/vendor/directory/*",
        "path/to/local/package"
    ]
}

  1. 每当您运行composer update时,composer都会首先查看您的studio.json文件并通过符号链接到本地软件包(如果可用),否则从远程存储库获取它。

注意: i.请确保将studio.json添加到.gitignore中。二、在将代码推送到生产/服务器之前,还要删除studio.json中的路径,如下所示,并运行composer update生成新的composer.lock文件。否则,当您运行composer install时,服务器上的代码将在本地设置中查找符号链接中的包,并给出错误。

代码语言:javascript
复制
{
    "version": 2,
    "paths": [
        
    ]
}

三、推送到服务端后,将studio.json恢复到初始状态,继续开发。在看到您的更改之前,无需推送到github/远程vcs。如果更改可用或从远程获取,则从本地对其进行符号链接。

四.在服务器上运行composer install

别忘了把你的包推送到远程,否则你看不到服务器上的变化,虽然你在本地看到了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69790005

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档