代码之家  ›  专栏  ›  技术社区  ›  konrad

安装的Composer模块是否独立于操作系统?

  •  0
  • konrad  · 技术社区  · 7 年前

    假设:

    1. 您希望/必须按原样将供应商文件夹部署到服务器。

    有多大的可能性:一些软件包会因为操作系统切换而无法工作,如果它们是从服务器上的composer json文件安装的(即它们不完全依赖于平台),那么故障是可以避免的?

    我从这里知道 question 安装期间设置的绝对路径可能是个问题。还有其他可能的问题吗?

    2 回复  |  直到 7 年前
        1
  •  2
  •   Jan Myszkier    7 年前

    这种可能性非常高,因为composer将根据环境设置进行不同的工作。

    最简单的例子就是 https://getcomposer.org/doc/articles/scripts.md

    它可以运行依赖于已安装组件的自定义逻辑,并且只有在主机操作系统有可用的东西时才准备一些东西,而这些东西与编写器.lock

    vendor 在.git文件中经常提到。 composer将在每个环境中表现不同,其结果不应被复制。 如果要使操作系统之间的行为保持一致,请使用Docker或vagrant来稳定应用程序及其环境。

        2
  •  0
  •   rob006    7 年前

    他们应该独立于操作系统,只要你承诺 composer.lock 你的项目。重点 编写器.lock composer install 独立于操作系统,并且Composer本身不使用任何绝对路径(默认情况下)。实际上,编写器维护器 discourage using it in production 许多问题都以“Composer不是一个部署工具”为理由而解决。因此,通过设计,您应该能够在不同环境之间移动安装,并且在每个系统上,您将获得相同的安装包 编写器安装

    唯一的问题可能来自 scripts 和/或 plugins ,它可能会执行一些不可移植的操作,您需要在目标安装上运行它。


    所以简而言之:是的,安装是独立于操作系统的(除非你做了什么,否则会改变这一点)。

    推荐文章