Laravel - 将项目导出到其他文件夹中进行部署


Laravel - Export project in other folder for deployment

有没有办法清理未使用的依赖项,作曲家开发需要减少Laravel项目,因为它太重了(43,3 Mb),而且它是一个小项目。顺便说一句,我正在使用一些开发助手,如调试栏和 IDEHelpers,它们不用于部署......

有没有办法在其他文件夹中制作我的项目的部署版本

部署应用的推荐方法是不使用供应商目录。我假设你在你的项目中使用 git。首先,将以下内容放在您的.gitignore中。

/vendor/

现在从存储库中删除供应商目录

git rm -r --cached vendor
git commit -m 'Removed vendor directory'

现在,您有一个两步部署:

  1. 使用git pull或通常部署的方式更新应用。
  2. 运行composer install --no-dev --optimize-autoloader .这将生成您的供应商目录,省略任何仅开发依赖项。

为了利用--no-dev标志,您需要将开发依赖项放在composer.jsonrequire-dev部分中。例如:

"require-dev": {
    "phpunit/phpunit": "~4.3"
}

现在开发需要 PHPUnit,但在指定 --no-dev 标志时不需要。

也许我误解了你的问题,但是当你部署一个项目时,你不应该用它部署laravel应用程序(/vendor/)。您应该运行作曲家安装,它将拉入所有依赖项。在 composer.json 文件中,您还可以选择哪些依赖项仅适用于开发环境,类似于此处的 require-dev 部分:https://gist.github.com/philsturgeon/5976359