【发布时间】:2015-09-18 12:08:58
【问题描述】:
我遇到了 composer 的问题。 我正在本地环境中使用 git。我是唯一的开发者。
当我需要更多依赖项(或需要更改某些版本)时,我编辑 composer.json 并在本地运行 composer install。
一切都很好。
然后,当一切都在本地运行时,我提交我的更改(包括 composer.json 和 composer.lock)并推送到我的生产服务器。
post-receive 脚本更新源并在远程服务器上运行composer install。
预期结果:
- Composer 应根据 composer.lock 文件安装新的依赖项。
- 我应该很高兴。
会发生什么:
- 作曲家很生气:
警告:锁定文件不是最新的 作曲家.json。您可能会得到过时的依赖项。运行更新到 更新它们。
- Composer 删除所有依赖项。
- 我的生产中断了。
- 我心脏病发作了
- 我必须通过 ssh 登录到我的服务器并运行
composer update才能正常工作,但我知道不建议在生产服务器上使用composer update。
这是 post-receive 作曲家部分的输出:
composer install
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. Run update to update them.
- Removing guzzle/guzzle (v3.9.3)
- Removing symfony/event-dispatcher (v2.7.1)
- Removing geoip/geoip (v1.15)
- Removing pimple/pimple (v3.0.0)
- Removing cocur/slugify (1.1.x-dev)
- Removing bentools/url (0.2)
- Removing bentools/simplexmlextended (1.2.0)
Generating autoload files
我做错了什么?
谢谢, 本
【问题讨论】:
标签: php git deployment composer-php