Php Laravel:用于开发和生产的不同composer.json文件
我需要为Php Laravel:用于开发和生产的不同composer.json文件,php,laravel,composer-php,Php,Laravel,Composer Php,我需要为dev和production创建两个不同的composer.json文件,因为我正在开发供应商软件包(本地),并且希望在开发环境中保持供应商软件包的符号链接,因为这样更易于维护 composer.json文件包含: 对于开发,它具有按路径进行符号链接的存储库 对于生产,它在github上有私有存储库 注意:供应商软件包位于require,而不是require dev。。。因此,编写器更新--no dev将不起作用 我该怎么设置呢 通常,.env文件是设置不同环境变量的地方。有没有一种
dev
和production
创建两个不同的composer.json
文件,因为我正在开发供应商软件包(本地),并且希望在开发环境中保持供应商软件包的符号链接,因为这样更易于维护
composer.json
文件包含:
- 对于开发,它具有按路径进行符号链接的存储库
- 对于生产,它在github上有私有存储库
require
,而不是require dev
。。。因此,编写器更新--no dev将不起作用
我该怎么设置呢
通常,.env
文件是设置不同环境变量的地方。有没有一种方法可以设置一个COMPOSER\u PATH
变量,该变量将指向prod或dev上的两个不同文件?您可以使用多个COMPOSER文件,如COMPOSER.json
和COMPOSER testing.json
,并在具有以下功能的终端中使用它:
COMPOSER=composer-testing.json php composer.phar install
假设签入了您的
composer.json
,可能会在dev中使用不同的分支?您可能会在dev环境中安装不同于生产环境的依赖项。您将失去composer.lock
的主要优势。好主意@adam,thx@rob006,我没有看到任何主要的缺点:prod将使用composer.lock
和devcomposer测试.lock。我还遗漏了什么吗?你可以继续使用同一把锁。开发锁定的唯一区别是开发中的第一方(您的)供应商包。锁定的目的是检查第三方供应商的软件包。