忽略 php Composer 中的开发依赖项

问题描述 投票:0回答:2

我开发了一个基于 Laravel Composer 的项目,我需要将其安装在远程生产服务器上。问题是我的权限/访问权限有限,所以我的选择是“存档”包(使用

composer archive
)并在生产中解压。

我需要归档哪些文件夹以及如何忽略包的开发依赖项以及供应商开发依赖项?

laravel-5.3 composer-php
2个回答
15
投票

composer archive
可能对您没有帮助,因为此命令创建包的已定义版本的存档。

您可能想要上传整个工作应用程序,而不仅仅是一个包。您应该创建一个小脚本来为您创建存档文件,这应该可以:

  • 从新目录中的存储库中签出应用程序
  • 运行
    composer install --no-dev
    安装所有必需的依赖项,无需开发依赖项
  • 可以选择删除服务器上不需要的文件,例如文档、
    .git
    文件夹和其他内容
  • 从所有这些文件创建存档文件
  • 可选择将该存档上传到目标服务器并在那里取消存档
  • 可选择检查基本功能并切换到服务器上新上传的版本

0
投票

这是我创建的一个

pkg
bash 脚本,用于与
composer archive
捆绑,但没有开发依赖项。 它将环境恢复到原始状态(假设您想要安装开发依赖项)。

我仍然没有找到其他方法,尽管这已经有很多年了。 这对于打包私有 WordPress 插件相当有效。

#!/usr/bin/env bash

set -uo pipefail

rm -f *.zip || true
composer update --no-dev
composer archive --format=zip
composer update
© www.soinside.com 2019 - 2024. All rights reserved.