在项目中,我是从我组织的 GitLab 中克隆出来的,package.json
中有一个模块作为:"react-native-device-info": "https://github.com/KarlosQ/react-native-device-info#master",
并分别在 yarn.lock
我们有
"react-native-device-info@https://github.com/KarlosQ/react-native-device-info#master":
version "0.21.5"
resolved "https://github.com/KarlosQ/react-native-device-info#beebff8dc284decfba917f2c6d30d0e535cc4002"
出于任何原因提交
beebff8dc...
在模块的主分支中不存在。因此,GitLab 管道中的所有构建都会失败。
error Couldn't find match for "beebff8dc..." in ....
如何在本地更改它并推送到影响管道和构建 channel 的远程分支?
在本地清除 Yarn 缓存并没有帮助。从 yarn.lock 删除该模块会导致我的组织帐户不再被识别和
yarn install
的其他问题失败!
最佳答案
跑:
yarn uninstall react-native-device-info && yarn add react-native-device-info@0.21.5
第一个将从您的 node_modules、package.json 和 yarn.lock 中删除依赖项。
第二个将恢复您所依赖的版本,即旧 yarn.lock 中所述的 0.21.5。
你不应该关心任何特定的提交,但应该由 yarn 处理内部。
丢失的提交很可能已从外部存储库的主分支中删除,因此永远无法正确解决。
关于docker - 更新 yarn .lock 并推送到远程以影响 docker 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54571742/