gitlab ci runner 中的yarn 安装会创建错误“锁定文件将被此安装修改,这是明确禁止的。”

问题描述 投票:0回答:1

我正在努力

react-native 0.75.2
yarn 3.6.4
node 20

在我的项目中,我有一个本机模块依赖项,它位于我的项目文件夹内。我的

package.json
看起来像

"dependencies": { 
  ....,
  "react-native-my-native-mod": "file:native_modules/react-native-my-native-mod", 
}

gitlab-runner
中,它正在创建一个错误,因为在
gitlab-ci.yml
中,我有像

这样的脚本
yarn install --immutable

错误是

"The lockfile would have been modified by this install, which is explicitly forbidden."

它显示了我的本机模块中的

checksum
差异。

我正在使用

.yarnrc.yml
,看起来像

nodeLinker: node-modules
yarnPath: .yarn/releases/yarn-3.6.4.cjs

我相信,当项目通过yarn install在本地安装时,模块是从我在

package.json
中指定的位置安装的,即
file:native_modules/react-native-my-native-mod

但是

gitlab-runner
正在尝试从
builds
文件夹安装模块,即

file:builds/0/project-0/native_modules/react-native-my-native-mod

结果,校验和被更改并产生上述错误。

如何解决这个问题?

react-native gitlab gitlab-ci gitlab-ci-runner react-native-native-module
1个回答
0
投票

目录

builds/0/project-0/
是远程仓库的克隆,
builds/0/project-0/native_modules/react-native-my-native-mod
的内容与仓库中的
native_modules/react-native-my-native-mod
相同。

要修复它,请克隆存储库,然后运行

yarn cache clean --all
yarn install

并将更新的

yarn.lock
推送到存储库。这将解决这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.