Ben*_*Ben 8 php git deployment composer-php
我和作曲家有问题.我在当地环境中使用git.我是唯一一个开发人员.
当我需要更多依赖项(或需要更改某些版本)时,我编辑composer.json并在composer install本地运行.
一切安好.
然后,当一切都在本地工作时,我提交我的更改(包括composer.json和composer.lock)并推送到我的生产服务器.
一个后收到-脚本更新的来源和运行composer install在远程服务器上.
预期结果:
怎么了 :
警告:锁定文件与composer.json中的最新更改不是最新的.您可能会过时的依赖项.运行更新以更新它们.
composer update以使工作正常,但我知道composer update在生产服务器上不建议使用a.这是收发后作曲家部分的输出:
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
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么 ?
谢谢,本
这个警告
警告:锁定文件不是最新的composer.json中的最新更改,您可能会获得过时的依赖项,运行更新以更新它们.
当你的md5sumcomposer.json与存储在的md5sum不同时发生composer.lock:
{
"hash": "b15ed9405e8547867f74973ce8add172",
"packages": [ ... ]
}
Run Code Online (Sandbox Code Playgroud)
确保你composer.json和composer.lock你的当地人完全相同(比较他们的md5sums).我怀疑部署链中的某些内容未正确更新它们.
确保使用以下require命令在本地添加了依赖项:
composer require new/package ~2.5
Run Code Online (Sandbox Code Playgroud)
或者如果composer.json是手动编辑至少运行
composer update new/package
Run Code Online (Sandbox Code Playgroud)
之后,为每个额外添加的包,以确保它被composer.lock正确添加.
另一种方法:在生产中
运行composer update --lock.这将更新锁文件中的哈希值,但不会升级您的供应商.
然后运行composer install以安装您的供应商comoser.lock.