在我的应用程序中,我让用户通过运行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知道要安装新的预发布?
现在npm publish -f已弃用,是否有解决方法或程序包可以在目标版本发布后覆盖目标版本?
我知道semver ; 我还是想要npm publish -f.
我一直在阅读REST API版本的所有方法.在几乎所有实现中,控制器和视图都是版本化的,但模型不是.
为了给出rails示例,控制器组织为:
# app/controllers/api/v1/events_controller.rb
class Api::V1::EventsController < Api::ApiController
end
Run Code Online (Sandbox Code Playgroud)
相应的视图也放在不同版本的目录中.为什么我们没有版型号?是因为我们希望我们的模型(底层数据库模式)不随着API的发展而改变吗?当我在数据库中重命名列名并需要新模型来解释时会发生什么?
.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) 在制作包时,我经常对是否应该使用any约束感到困惑.
我知道这个:
库包,我应该指定明确的版本约束,以便我的库的用户知道我的传递依赖的版本,
应用程序包,我应该使用any并检查我的pubspec.lock锁文件,以便其他人可以运行我的应用程序,
但是有一个灰色区域:
要扩展的应用程序,例如codelabs,教程,模板,示例等.
同样具有可重用库的应用程序 ; 也就是说,包含具有lib通用功能目录的包,这些目录在放入单独的包中是没有意义的,但也是web完整应用程序的目录.
问题:我应该何时使用any版本约束,何时应该完全指定Pub包的版本约束?
我想知道什么rc的2.2.0-rc.0代表.这是否意味着它的生产准备好了?
何时使用SemVer 2.0增加 MAJOR 与 MINOR 版本号的规则非常引人注目。它们显然为了解应用程序/服务是否向后兼容提供了很多优势。
但是该站点并没有真正说明 MINOR 和它所谓的 PATCH 之间的差异的原因。我不认为它具有 MAJOR 与 MINOR 相同的好处。
以下是 SemVer 规则供参考:
因此 MINOR 和 PATCH 之间的唯一区别是功能与错误修复。我的公司希望以不同的方式做到这一点。
他们希望 MINOR 成为 [向后兼容] 功能的集合。“补丁”(我们称之为增量)是发布这些功能所需的版本。(我们在发布功能时发布错误修复。)
例如,如果我们计划在 2.4 版本中提供 7 个[向后兼容]功能,那么 2.4.0 可能有 2 个功能,2.4.1 将有 3 个功能,2.4.2 将有最后 2 个(可能有一个错误在每个版本中修复或两个)。
我可以看到这违反了 SemVer,但我需要知道为什么 SemVer 决定对 MINOR 和 PATCH 版本之间的差异进行说明,以便我知道用哪种方式推动我的公司。
注意:我希望这对于 Stack Overflow 来说不是太主观。我通常不会问这样的问题,所以这个问题可能需要关闭......
令我惊讶的是,npm 生态系统中不允许使用 4 位数字版本控制:
https://docs.npmjs.com/about-semantic-versioning
但是,我必须将我的最终产品从 npm 合并到允许 4 位数字的其他系统。所以,我的问题是:
(如何)我们可以以某种方式为我们自己的项目破例使用 4 位数字吗?
我是 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)