标签: semantic-versioning

npm是否尊重semver中较新的预发布版本?

在我的应用程序中,我让用户通过运行npm install-bog标准行为来安装依赖项.

但是,我有一个经常更改的软件包,并且为了不打算像一个可笑的大版本号0.1.12324,我偶然发现了预发布的概念.

npm如何在运行时处理预发布数字npm install

假设我的软件包packageA的版本号是0.1.1-r1234,并且我的用户有一个依赖关系semver ~0.1.1:

我知道没有packageA安装的新用户将自动安装该版本(0.1.1-r1234).

如果某人已packageA安装了版本,该0.1.1-r1233怎么办?不npm install知道要安装新的预发布?

node.js npm semantic-versioning

9
推荐指数
1
解决办法
1532
查看次数

是否有一个NuGet包在.NET中包含语义版本解析器?

我找到了这篇博文和相关的Gist.作者似乎没有创建相应的NuGet包.

有人知道已存在的NuGet包吗?

作为参考,这里是语义版本控制的规范.

.net c# parsing semantic-versioning

9
推荐指数
1
解决办法
2521
查看次数

是否存在`npm publish -f`的解决方法

现在npm publish -f已弃用,是否有解决方法或程序包可以在目标版本发布后覆盖目标版本?

我知道semver ; 我还是想要npm publish -f.

node.js npm semantic-versioning

9
推荐指数
4
解决办法
7288
查看次数

REST API版本控制 - 为什么版本不是模型

我一直在阅读REST API版本的所有方法.在几乎所有实现中,控制器和视图都是版本化的,但模型不是.

为了给出rails示例,控制器组织为:

# app/controllers/api/v1/events_controller.rb
class Api::V1::EventsController < Api::ApiController

end
Run Code Online (Sandbox Code Playgroud)

相应的视图也放在不同版本的目录中.为什么我们没有版型号?是因为我们希望我们的模型(底层数据库模式)不随着API的发展而改变吗?当我在数据库中重命名列名并需要新模型来解释时会发生什么?

versioning rest ruby-on-rails semantic-versioning rails-api

9
推荐指数
2
解决办法
1858
查看次数

.RELEASE 在 Spring Framework 版本中是什么意思

.RELEASE文件的结尾是什么意思?

例如

<dependencies>
  <dependency>
     <groupId>org.springframework</groupId>
     <artifactId>spring-context</artifactId>
     <version>3.0.0.RELEASE</version>
     <scope>runtime</scope>
  </dependency>
</dependencies>
Run Code Online (Sandbox Code Playgroud)

versioning spring pom.xml maven semantic-versioning

9
推荐指数
2
解决办法
2355
查看次数

在Dart with Pub中,何时应该对依赖项使用"any"版本约束?

在制作包时,我经常对是否应该使用any约束感到困惑.

我知道这个:

但是有一个灰色区域:

  • 要扩展的应用程序,例如codelabs,教程,模板,示例等.

  • 同样具有可重用库的应用程序 ; 也就是说,包含具有lib通用功能目录的包,这些目录在放入单独的包中是没有意义的,但也是web完整应用程序的目录.


问题:我应该何时使用any版本约束,何时应该完全指定Pub包的版本约束?

versioning dart semantic-versioning dart-pub

8
推荐指数
1
解决办法
86
查看次数

npm包版本结构中的"rc"是什么

我想知道什么rc2.2.0-rc.0代表.这是否意味着它的生产准备好了?

javascript versioning node.js npm semantic-versioning

8
推荐指数
2
解决办法
3093
查看次数

SemVer 中 MINOR vs PATCH 规则的原因

何时使用SemVer 2.0增加 MAJOR 与 MINOR 版本号的规则非常引人注目。它们显然为了解应用程序/服务是否向后兼容提供了很多优势。

但是该站点并没有真正说明 MINOR 和它所谓的 PATCH 之间的差异的原因。我不认为它具有 MAJOR 与 MINOR 相同的好处。

以下是 SemVer 规则供参考:

  1. 进行不兼容的 API 更改时的主要版本,
  2. 以向后兼容的方式添加功能时的 MINOR 版本,以及
  3. PATCH 版本,当您进行向后兼容的错误修复时。

因此 MINOR 和 PATCH 之间的唯一区别是功能与错误修复。我的公司希望以不同的方式做到这一点。

他们希望 MINOR 成为 [向后兼容] 功能的集合。“补丁”(我们称之为增量)是发布这些功能所需的版本。(我们在发布功能时发布错误修复。)

例如,如果我们计划在 2.4 版本中提供 7 个[向后兼容]功能,那么 2.4.0 可能有 2 个功能,2.4.1 将有 3 个功能,2.4.2 将有最后 2 个(可能有一个错误在每个版本中修复或两个)。

我可以看到这违反了 SemVer,但我需要知道为什么 SemVer 决定对 MINOR 和 PATCH 版本之间的差异进行说明,以便我知道用哪种方式推动我的公司。

注意:我希望这对于 Stack Overflow 来说不是太主观。我通常不会问这样的问题,所以这个问题可能需要关闭......

semantic-versioning

8
推荐指数
1
解决办法
5695
查看次数

npm 中的 4 位数字版本控制

令我惊讶的是,npm 生态系统中不允许使用 4 位数字版本控制:

https://docs.npmjs.com/about-semantic-versioning

在此输入图像描述

但是,我必须将我的最终产品从 npm 合并到允许 4 位数字的其他系统。所以,我的问题是:

(如何)我们可以以某种方式为我们自己的项目破例使用 4 位数字吗?

npm semantic-versioning

8
推荐指数
1
解决办法
8016
查看次数

错误:编译器版本 ^0.8.0 不满足 r semver 要求

我是 Solidity 新手,正在 Remix 上运行代码。无论我指定什么版本的编译器,我都会不断收到相同的错误。有人可以帮我吗?“编译器版本 ^0.8.0 不满足 r semver 要求”到底是什么意思?

这是我的代码:

// SPDX-License-Identifier: UNLICENSED
Run Code Online (Sandbox Code Playgroud)

编译指示可靠性 ^ 0.8.0;

合约存储{

struct People {
    uint256 favoriteNumber;
    string name;
}

mapping(string => uint256) public nameToFavoriteNumber;
People[] public people;

function addPerson(uint _personFavoriteNumber, string memory _personName ) public {
    people.push(People({favoriteNumber: _personFavoriteNumber, name: _personName}));
    nameToFavoriteNumber[_personName] = _personFavoriteNumber;
}
Run Code Online (Sandbox Code Playgroud)

} 这是我的截图

semantic-versioning solidity remix

8
推荐指数
1
解决办法
3382
查看次数