作曲家更新或不需要拉最新版本

时间:2018-09-05 08:04:22

标签: composer-php

我的composer.json:

"require": {
    "insenseanalytics/laravel-user-audit-trails": "^1.0"
}

作曲家诊断输出:

Checking composer.json: WARNING
require.insenseanalytics/nova-impersonate-tool : unbound version constraints (*) should be avoided
Checking platform settings: OK
Checking git settings: OK
Checking http connectivity to packagist: OK
Checking https connectivity to packagist: OK
Checking github.com rate limit: OK
Checking disk free space: OK
Checking pubkeys:
Tags Public Key Fingerprint: 57815BA2 7E54DC31 7ECC7CC5 573090D0  87719BA6 8F3BB723 4E5D42D0 84A14642
Dev Public Key Fingerprint: 4AC45767 E5EC2265 2F0C1167 CBBB8A2B  0C708369 153E328C AD90147D AFE50952
OK
Checking composer version: OK
Composer version: 1.7.2
PHP version: 7.1.18
PHP binary path: /usr/local/Cellar/php@7.1/7.1.18/bin/php

当我运行此命令时:

composer update

Composer引入v1.0而不是v1.0.1。 Packagist正确地将v1.0.1显示为最新版本,但由于某种原因它无法识别它。

当我运行此命令时:

composer show insenseanalytics/laravel-user-audit-trails

它输出

name     : insenseanalytics/laravel-user-audit-trails
descrip. : User audit trails for Laravel Eloquent.
keywords : Audit, audit trails, laravel, user trails
versions : * v1.0
type     : library
license  : MIT License (MIT) (OSI approved) https://spdx.org/licenses/MIT.html#licenseText
source   : [git] https://github.com/insenseanalytics/laravel-user-audit-trails.git 09256e522240f29b7b214a9f15dc5f62bb8f02a7
dist     : [zip] https://api.github.com/repos/insenseanalytics/laravel-user-audit-trails/zipball/09256e522240f29b7b214a9f15dc5f62bb8f02a7 09256e522240f29b7b214a9f15dc5f62bb8f02a7
names    : insenseanalytics/laravel-user-audit-trails

autoload
psr-4
Insense\LaravelUserAuditTrails\ => src/

requires
illuminate/database ~5.5.0|~5.6.0
illuminate/support ~5.5.0|~5.6.0

requires (dev)
doctrine/dbal ~2.6
orchestra/testbench ~3.5.0|~3.6.0
phpunit/phpunit ^6.0|^7.0

但是上面的输出没有显示最新的标签v1.0.1。我也是试图插入的软件包的作者,但我似乎不明白这是怎么回事?软件包composer.json没有版本条目

1 个答案:

答案 0 :(得分:2)

似乎最新版本破坏了向后兼容性。 Official docs

Caret版本范围(^)#

^ 运算符的行为非常相似,但它更加接近语义版本控制,并且始终允许不间断的更新。例如,^ 1.2.3等效于> = 1.2.3 <2.0.0,因为直到2.0发行版都不应该向后兼容。对于1.0之前的版本,它也出于安全考虑,将^ 0.3视为> = 0.3.0 <0.4.0。

推荐此操作符,以在编写库代码时获得最大的互操作性。

示例:^ 1.2.3