标签: semantic-versioning

错误:编译器版本 ^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
查看次数

PIP/Python 是否支持同一包的多个版本?

假设我有一个 package foo,并将foo我在多个 Python 脚本中使用的二进制共享对象打包起来。

  • Foo v1(共享对象)
    • Bar v1(需要 Foo v1)
    • Baz v1(需要 Foo v1)

现在我想向 Foo 推出一个新的重大更新。

  • Foo v2(共享对象)
    • Bar v2(需要 Foo v2)
  • Foo v1(共享对象)
    • Bar v1(需要 Foo v1)
    • Baz v1(需要 Foo v1)

semvar 中具有不同主要版本的旧依赖项可以通过 PyPI 分发吗?如果是这样,怎么办?

pip packing pypi python-3.x semantic-versioning

7
推荐指数
1
解决办法
7876
查看次数

如果package-lock.json锁定它,那么在package.json中声明的"兼容版本"(^版本)有什么意义呢?

我知道主要优点,package-lock.json我同意这一点.它不仅在最后一次安装中锁定下载的版本,而且还锁定了uri ...在大多数情况下,这是必要的,因为它可以复制最相似的项目.

但有一件事对我来说似乎很奇怪,它package.json具有声明依赖性的功能dependency: ^1.0.0,应该让npm在每个安装中下载该软件包的最新版本和兼容版本.

我正在一个我真正需要的项目.否则,每次我的依赖项发布补丁时,都需要进行新的提交更新,package.json只更改版本,因此我的管道也可以覆盖package-lock.json.

简而言之,似乎在package.json使用某个功能时......会package-lock.json阻止那个功能.

我错过了什么吗?

javascript npm semantic-versioning package.json

7
推荐指数
1
解决办法
113
查看次数

-next 在语义版本控制中意味着什么

语义版本控制中预发布版本的含义是什么x.x.x-next,例如6.0.0-next.0,,,?我至少在Angularnpm项目中看到过这个术语。这是传统, ,命名法的替代吗?我还没有看到任何解释为什么这些项目使用该术语。6.0.0-next.16.0.0-next.2alphabetarc

versioning semantic-versioning

7
推荐指数
1
解决办法
987
查看次数

当预发布版本是最新可用版本时,semver 中的插入符 (^) 是否与预发布版本匹配?

考虑使用这些版本的库(例如 NPM 包):

  • 1.0.0
  • 1.0.2
  • 1.1.0-预发布

如果我^1.0.0在依赖项中指定,将安装什么版本?1.1.0-prerelease是最新版本,但我认为任何预发布版本都不满足我未指定预发布部分的范围。我尝试过使用https://semver.npmjs.com,但 lodash 不存在预发布也是最新的情况。

versioning npm semantic-versioning

7
推荐指数
1
解决办法
2656
查看次数

[主要].[次要].[补丁]的最大数量

对于@semantic-release,[major].[minor].[patch],主要、次要、补丁的最大数量是多少?即999.999.999?

semantic-versioning semantic-release

7
推荐指数
0
解决办法
4234
查看次数

使用语义版本控制或 Lerna Publish 从 CI/CD 部署时如何确保 Master 和 Dev 分支保持同步

设置

我有几个 gitlab 存储库,其中一般设置涉及一个master分支、一个stage(预发布)分支和一个dev分支。

所有 3 个分支的推送权限均被禁用。

工作流程是从dev分支中派生任何修补程序、错误修复和功能。当您对发布感到满意时,您将向 提交合并请求dev。最终,当内部准备好稳定的构建时dev;将为该分支提交合并请求stage。最后,当您对预发布感到满意时,您将提交分支的合并请求master

我配置了 CI/CD,以便通过自动生成文件从master和分支自动执行测试、构建和部署。分支部署到 UAT s3 Bucket 并部署到生产 s3 Bucket。stageCHANGELOG.mdstagemaster

部署是通过Semantic Versioning 2.0.0它来处理的,它负责更新版本、生成变更日志和部署。

我有一个与上面描述的类似的设置,除了它是一个 monorepo,所以我用来Lerna处理发布(部署)和{"conventionalCommits": true}复制Semantic Versioning 2.0.0的行为。我在 monorepo 中使用独立版本控制。

和 的Semantic Versioning 2.0.0设置都Lerna强制master分支始终位于 和 分支之后或等于stagedev分支;并且stage分支始终位于分支后面或等于dev分支,就像级联效应一样。

dev>= stage …

semantic-versioning gitlab gitlab-ci lerna conventional-commits

7
推荐指数
1
解决办法
1668
查看次数

如何使用 npm version 来增加 prepatch / preid 后缀后面的计数器

我试图找出如何正确使用npm versionprepatch (也是 premajor 或 preminor)/ preid 选项来增加后缀后面的计数器。

例如:

  • 我有一个v.0.5.22并想附加-rc
  • 我使用了命令npm version prepatch --preid rc
  • 然后我就明白了v.0.5.23-rc.0,到目前为止还好。
  • 但下次我使用相同的命令时,我最终会得到v.0.5.24-rc.0
  • 我想要的是v.0.5.23-rc.1得到

我怎样才能只增加后面的计数器-rc.并保留补丁号?或者我误解了 prepatch / preid 的目的?

npm semantic-versioning

7
推荐指数
1
解决办法
2901
查看次数

是否可以通过 GitHub Actions 在合并过程中更新文件,而无需创建第二次提交?

目前,我正在尝试使用 GitHub Actions 将应用程序的凹凸版本自动化,作为 PR 合并的一部分。有一个自定义脚本可以识别应用程序的当前版本和 PR 附带的标签,并在存储版本号的文件上相应地更改主要|次要|补丁版本。重要的是,版本碰撞仅在合并 PR 时发生,并且作为 GitHub Actions 的一部分,因为它有助于避免版本文件中的合并冲突,并消除了手动碰撞版本的方式。

下面给出了 GitHub Actions 代码片段。

jobs:
  release:
    # Skip on Pull Request Close event.
    if: "!(github.event_name == 'pull_request' && !github.event.pull_request.merged)"
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
        with:
          ref: ${{ github.ref }}

      - id: bumpversion
        if: github.event.pull_request.merged
        env:
          PR_LABELS: ${{ toJson(github.event.pull_request.labels) }}
        run: bash .github/scripts/bump_version.sh -l "${PR_LABELS}"
Run Code Online (Sandbox Code Playgroud)

bump_version.sh脚本具有下面给出的函数,该函数可以进行版本更改,然后将其推送到分支main

  git config user.email "${GITHUB_ACTOR}@users.noreply.github.com"

  echo "commiting the version bump changes..."
  git add .
  git commit -m "Bump …
Run Code Online (Sandbox Code Playgroud)

versioning github pull-request semantic-versioning github-actions

7
推荐指数
1
解决办法
2326
查看次数

NPM 安装预发布版本以实现对等依赖

我们有一个使用 lerna 的单一存储库。对于每个拉取请求,我们希望创建一个预发布版本并发布它。

为了更好地理解演示项目=> react-lerna-demo

封装结构:

  • 实用程序库
  • 共享 ui --> util-lib (peer-dep)
  • 网络应用程序 --> 共享库和 util-lib

正常发布就可以正常工作。但预发布存在以下问题。

  • 当 util-lib 发生变化时,它会有这样的版本4.0.6-1b596d6.0
  • shared-ui 有一个对等 dep 版本,例如^4.0.0
  • 然后 Web-App 更改为"@keth-dev/lerna-demo-util-lib": "4.0.6-1b596d6.0"(请参阅更改

这在 npm v7 之前有效。但现在它抛出一个错误:

npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR! 
npm ERR! While resolving: @keth-dev/lerna-demo-web-app@4.0.5
npm ERR! Found: @keth-dev/lerna-demo-util-lib@4.0.6-1b596d6.0
npm ERR! node_modules/@keth-dev/lerna-demo-util-lib
npm ERR!   @keth-dev/lerna-demo-util-lib@"4.0.6-1b596d6.0" from the root project
npm ERR! 
npm ERR! Could not resolve dependency:
npm ERR! …
Run Code Online (Sandbox Code Playgroud)

node.js npm semantic-versioning npm-install lerna

7
推荐指数
1
解决办法
1271
查看次数