在使用 Travis Ci 构建 Hexo 时出现了构件失败的情况,报错信息为 :
error Your lockfile needs to be updated, but yarn was run with `--frozen-lockfile`.info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.The command "eval yarn --frozen-lockfile " failed. Retrying, 2 of 3.
Travis Ci 构建 Nodejs 项目的时候,默认使用了 yarn 作为 npm 的替换安装方式。但是在 2020 年 2 月份之前,默认的安装指令为:
$ yarn
但是之后 Travis Ci 修改了默认的安装指令,将其更改为:
$ yarn --frozen-lockfile
yarn --frozen-lockfile
与yarn
指令的区别在于:前者锁定当前依赖包的版本号,其进行的操作就是按照 yarn-lock.json 去安装。但是当一个依赖包拥有新版本时,yarn 为了防止开发者一直使用老旧版本的依赖,就会报出警告,就像我们遇到的问题那样。
我们可以修改 .travis.yml 安装部分的脚本,来取消使用 --frozen-lockfile 指令:
install: - yarn
同时需要保证node_js再10.0版本以上!
node_js: - "10"
这个问题与 Travis CI 构建过程中的 Yarn 依赖管理相关。报错信息表明,Yarn 的 lockfile 需要更新,但你使用了 --frozen-lockfile
参数来运行 Yarn,这意味着 Yarn 将不会更改 lockfile。
在 Travis CI 中,你通常希望确保所有构建都在相同的依赖项版本上运行,以确保构建的一致性。为此,你可能会使用 --frozen-lockfile
参数来防止 Yarn 在构建过程中更新 lockfile。然而,这个报错表明,在之前的某个时刻,lockfile 已经被修改,这可能是因为有人更新了项目的依赖项但没有更新 lockfile。
为了解决这个问题,你可以采取以下步骤:
yarn install
(不使用 --frozen-lockfile
参数)来更新 lockfile。然后,将更新后的 lockfile 提交到版本控制系统中。如果你不希望在你的构建过程中自动更新 lockfile,你可以在 .travis.yml
文件中设置一个条件,只在检测到 lockfile 有更改时才运行 yarn install
(不使用 --frozen-lockfile
参数)。
例如:
script: - if [ -n "$(git diff --name-only $TRAVIS_COMMIT_RANGE -- 'yarn.lock')" ]; then yarn install; fi - yarn --frozen-lockfile
在这个示例中,git diff
命令用于检查 yarn.lock
文件是否在提交范围内有更改。如果有更改,它会先运行 yarn install
来更新 lockfile,然后再运行 yarn --frozen-lockfile
。如果 yarn.lock
文件没有更改,它只会运行 yarn --frozen-lockfile
。
请注意,这些步骤假设你已经正确配置了 Travis CI 和 Yarn,并且你的项目中已经包含了 yarn.lock
文件。如果你还没有这样做,你可能需要先设置这些基础配置。
Frozen 是一个开源的 HTML5 游戏引擎,易用、快速开发。 支持的浏览器: Chrome 27 & 30-canary Firefox 21 & 22 IE10 (sound with supported codecs) Safari 6.0.3 Chrome for Android 27 & Beta 28 (limited sound support) - Suggestion: in
The lockfile command isn’t necessary. yarn install will produce a lockfile.
Frozen UI是一个开源的简单易用,轻量快捷的移动端UI框架。基于手Q样式规范,选取最常用的组件,做成手Q公用离线包减少请求,升级方式友好,文档完善,目前全面应用在腾讯手Q增值业务中。 非手Q用户不能使用离线包而直接请求核心css也仅28k,另外也可以采用cdn和combo的方式按需加载。 CSS组件包括按钮,列表,表单,通知,提示条,弹出框,选项卡,等级图标,角标,红点,1px解决方案等。
☝️ Important announcement: Greenkeeper will be saying goodbye �� and passing the torch to Snyk on June 3rd, 2020! Find out how to migrate to Snyk and more at greenkeeper.io Greenkeeper Lockfile �� ��
lockfile linting �� lint lockfiles for improved security and trust policies About Lockfiles are used as trusted whitelist of resources manifest to fetch packages from.However, keeping track of the cha
Frozen-Flask Freezes a Flask application into a set of static files. The result can be hostedwithout any server-side software other than a traditional web server. See documentation: https://pythonhost