首页 > 解决方案 > 作曲家更新或不需要拉最新版本

问题描述

我的作曲家.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 没有版本条目

标签: composer-php

解决方案


似乎最新版本打破了向后兼容性。官方文档

插入符号版本范围 (^)#

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

这是在编写库代码时推荐的最大互操作性运算符。

示例:^1.2.3


推荐阅读