문제 1. opencv3 의존성 때문에 설치가 안된다.
: package.json 에서 peer dependency로 인해 충돌나는 부분들 때문에 정상설치는 npm으로 안되어 —force해도 같은 에러 났기에 yarn으로 다시 시도
error : Could not find com.quickbirdstudios:opencv:3.4.4-contrib when install
: com.quickbirdstudios:opencv:3.4.4-contrib 를 build.gradle에 추가함
: setting.gradle에 종속성 확인
include ':react-native-opencv3' // 추가
project(':react-native-opencv3').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-opencv3/android') // 추가
위처럼 추가 했지만 여전히 동일한 문제
: 아래 공식 라이브러리 github repo issue를 보고 해결방법대로 해봤지만
“ 3.4.5도 추가해봤지만 별다른 바뀌는 것 없이 에러가 동일한 상황 “
공식 github repo issue의 질문에 위의 레포가 있음을 찾았다.
그리고 naming 규칙이 잘못된 줄도 모르고 gpt는 이전 규칙을 알려주었고,
나 역시 계속 그런 방식을 사용했다.
그냥 react-native-opencv3 라이브러리 작성자가 android-opencv랑 ios-opencv를 이용해서 만든 것으로 판단을 내렸다. 이유는 아래 내용 package.json을 보면
{
"_from": "git+https://github.com/adamgf/react-native-opencv3.git",
"_id": "react-native-opencv3@1.0.5",
"_inBundle": false,
"_integrity": "",
"_location": "/react-native-opencv3",
"_phantomChildren": {},
"_requested": {
"type": "git",
"raw": "react-native-opencv3@git+https://github.com/adamgf/react-native-opencv3.git",
"name": "react-native-opencv3",
"escapedName": "react-native-opencv3",
"rawSpec": "git+https://github.com/adamgf/react-native-opencv3.git",
"saveSpec": "git+https://github.com/adamgf/react-native-opencv3.git",
"fetchSpec": "https://github.com/adamgf/react-native-opencv3.git",
"gitCommittish": null
},
"_requiredBy": [
"/"
],
"_resolved": "git+https://github.com/adamgf/react-native-opencv3.git#b46c7bc760ce35019711b3ca6568ed4344dfdc28",
"_spec": "react-native-opencv3@git+https://github.com/adamgf/react-native-opencv3.git",
"_where": "/freelancing/Education/apps/react-native-opencv3-tests/SimpleGreyscale",
"author": {
"name": "Adam G. Freeman"
},
"bundleDependencies": false,
"dependencies": {},
"deprecated": false,
"description": "OpenCV+contrib ported to React-Native for both iOS (v3.4.1) and Android (v3.4.4)",
"keywords": [
"react-native OpenCV"
],
"license": "BSD",
"main": "index.js",
"name": "react-native-opencv3",
"peerDependencies": {
"react-native": "0.59.5",
"react-native-fs": "^2.13.3"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"version": "1.0.8"
}
근데 이사람은 android opencv를 보고 만들었나봐 근데 android opencv에서는 3.4.4버전이 없어
즉 이 라이브러리를 다운받아서 실행하려고했지만 정작 이 라이브러리가 참조한 android opencv에는 3.4.4버전이 없는거지결론은 3년전에 마지막 커밋인 라이브러리는 사라진 android-opencv의 릴리즈버전을 사용하고 있다.
maven(프로젝트 의존성관리 및 빌드 자동화 프레임워크)
https://mvnrepository.com/artifact/com.quickbirdstudios/opencv/3.4.4-contrib
여기서 opencv/3.4.4-contrib 파일이 존재하는 것을 찾기는 했음. 그럼 정상적으로 여기서 추가하라는대로 내용을 build.gradle에 추가해서 의존성을 추가하면 해결되야만 하는데 이 빌드 환경이 그걸 못 찾고 있는 것 같다.
file:/C:/OkeyDokey_Contest-sh-/OkeyDokeyContest/node_modules/react-native/android/com/quickbirdstudios/opencv/3.4.4-contrib/opencv-3.4.4-contrib.pom
- file:/C:/OkeyDokey_Contest-sh-/OkeyDokeyContest/node_modules/jsc-android/dist/com/quickbirdstudios/opencv/3.4.4-contrib/opencv-3.4.4-contrib.pom
- https://repo.maven.apache.org/maven2/com/quickbirdstudios/opencv/3.4.4-contrib/opencv-3.4.4-contrib.pom
- https://dl.google.com/dl/android/maven2/com/quickbirdstudios/opencv/3.4.4-contrib/opencv-3.4.4-contrib.pom
- https://www.jitpack.io/com/quickbirdstudios/opencv/3.4.4-contrib/opencv-3.4.4-contrib.pom
위와 같은 error message 발생
maven repository도 확인해봤는데
해당 내용 있음. build.gradle setting.gradle 전부 gpt가 말해준대로 종속성 추가했는데도 계속 같은 에러
특히 github 공식 문서 레포를 보면. 이러한 문제를 가진 사람이 동일하게 존재했었음.