【问题标题】:Created package in Laravel workbench, but how to transfer to vendor folder?在 Laravel 工作台中创建了包,但是如何转移到供应商文件夹?
【发布时间】:2013-07-17 15:04:35
【问题描述】:

假设我在 Laravel 中的包是 test/test。

我在工作台中创建了包,它在Jason Lewis' tutorial 之后运行良好。现在我想将包裹移出 工作台到供应商目录。这是所有教程都不足的地方,即使是 laravel 文档。我不想使用 git 来移动文件,所以我只是将 test/test 包从工作台复制到供应商目录(然后将其从工作台中删除)。我没有从工作台复制 test/test/vendor 文件夹(或我在 .gitignore 文件中注意到的任何其他文件)。然后我从新的 vendor/test/test 目录运行 composer install。然后我从 laravel 根目录做了一个 composer dump-autoload。

现在,当我运行我的应用程序时,我收到了一个错误,当包在工作台中时我没有收到:

Class 'Test\Test\TestServiceProvider' not found
(this is coming from \bootstrap\compiled.php on line 4121)

我还从 laravel 根目录做了一个 php artisan dump-autoload,我得到了同样的错误。

有什么想法吗?或者有人可以带我看一个教程,该教程将包开发一直带到供应商目录中的最终休息点?

【问题讨论】:

    标签: laravel laravel-4 workbench


    【解决方案1】:

    搞定了。

    我补充说:

    "psr-0": {
        "Test\\Test": "vendor/test/test/src/"
    }
    

    到 laravel 根目录下 composer.json 的 autoload 部分,如下所示:

    "autoload": {
        "classmap": [
            "app/commands",
            "app/controllers",
            "app/models",
            "app/database/migrations",
            "app/database/seeds",
            "app/tests/TestCase.php"
        ],
        "psr-0": {
            "Test\\Test": "vendor/test/test/src/"
        }       
    },
    

    如果我决定稍后将包放在Packagist 上,那么我可能会从自动加载中删除它,并保留在我的 composer.json 的“require”部分中引用的包。我们会看到当我走到那一步时会发生什么!

    【讨论】:

    • 不过,它位于您的供应商文件夹中,该文件夹不包括在您的 git 提交中(默认情况下)。我建议制作类似app/lib 的东西,这样当您转移到生产环境时,您不必手动移动它,它会保留在您的存储库中。把 psr-0 路径改一下就行了。
    • 我只是编辑那个 .gitignore 文件并在 /vendor/* 下添加 !/vendor/Test
    • 谢谢你,我也遇到了同样的问题,你的问题马上解决了我的问题。
    【解决方案2】:

    我认为您可以像从本地存储库一样从硬盘驱动器安装软件包,如下所示:

    "repositories": [
        {
            "type":"vcs",
            "url":"/path/to/repo/here"
        }
    ],
    "require":{
         "me/myrepo":"dev-master"
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-30
      • 2020-05-04
      • 2014-01-10
      • 1970-01-01
      • 2015-10-09
      • 2020-09-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多