Nativescript-vue Build 에러가 나는 경우는 매우 다양한데 camera 모듈을 추가할 때 어떤걸 해야 할지 몰라 이것 저것 막 추가하다보니 library가 충돌을 일으켰다. Camera 모듈을 추가했는데
WARNING in ../node_modules/nativescript-camera/camera.android.js 20:24-63 Module not found: Error: Can't resolve 'tns-core-modules/utils/types' in 'C:\Project\Vue\node_modules\nativescript-camera' ... WARNING in ../node_modules/nativescript-camera/camera.android.js 64:34-73 Module not found: Error: Can't resolve 'tns-core-modules/application' in 'C:\Project\Vue\node_modules\nativescript-camera'
와 같은 에러가 5개가 동시에 떴다. 필요 없는 모듈을 지우려고 npm uninstall 명령을 해 봐도 소용이 없고 plugin을 어떻게 하나씩 지우는지 알수도 없어서 인터넷을 여기 저기 뒤져서 찾은 방법은
1. ns clean으로 정리
먼저 프로젝트 폴더에서 ns clean 으로 nativescript의 plugin을 일단 모두 정리한다.
C:\project\vue\myFarm> ns clean - Cleaning project... √ Cleaned directory hooks √ Cleaned directory platforms √ Cleaned directory node_modules √ Cleaned file package-lock.json √ Project successfully cleaned. C:\project\vue\myFarm> npm list myFarm@1.0.0 C:\Project\Vue\myFarm +-- UNMET DEPENDENCY @nativescript/android@8.3.1 +-- UNMET DEPENDENCY @nativescript/core@~8.3.0 +-- UNMET DEPENDENCY @nativescript/preview-cli@1.0.1 +-- UNMET DEPENDENCY @nativescript/theme@~3.0.2 +-- UNMET DEPENDENCY @nativescript/webpack@~5.0.6 +-- UNMET DEPENDENCY nativescript-vue-template-compiler@~2.9.0 `-- UNMET DEPENDENCY nativescript-vue@~2.9.0 npm ERR! code ELSPROBLEMS npm ERR! missing: @nativescript/android@8.3.1, required by myFarm@1.0.0 npm ERR! missing: @nativescript/core@~8.3.0, required by myFarm@1.0.0 npm ERR! missing: @nativescript/preview-cli@1.0.1, required by myFarm@1.0.0 npm ERR! missing: @nativescript/theme@~3.0.2, required by myFarm@1.0.0 npm ERR! missing: @nativescript/webpack@~5.0.6, required by myFarm@1.0.0 npm ERR! missing: nativescript-vue-template-compiler@~2.9.0, required by myFarm@1.0.0 npm ERR! missing: nativescript-vue@~2.9.0, required by myFarm@1.0.0 npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\Admin\AppData\Local\npm-cache\_logs\2022-10-03T04_37_37_063Z-debug-0.log
2. package.json 수정
이 상태에서 build를 하면 다시 재설치되어 버리므로 프로젝트의 package.json 파일을 수정한다.

파일을 열어보면 dependencies 항목에 추가 설치된 plugin 들이 포함되어 있다. 이 중 필요없는 library/plugin을 삭제하고 저장한다.
[ package.json 파일 ]
{
"name": "myFarm",
"main": "app/app.js",
"version": "1.0.0",
"private": true,
"dependencies": {
"@nativescript/camera": "^5.0.13",
"@nativescript/core": "~8.3.0",
"@nativescript/theme": "~3.0.2",
"nativescript-camera": "^4.5.0",
"nativescript-vue": "~2.9.0"
},
"devDependencies": {
"@nativescript/android": "8.3.1",
"@nativescript/preview-cli": "1.0.1",
"@nativescript/webpack": "~5.0.6",
"nativescript-vue-template-compiler": "~2.9.0"
}
}
3. build
그 다음 다시 필요한 plugin을 설치하거나 build 또는 android를 실행하면 필요한 라이브러리가 설치된다.
C:\project\vue\myFarm> ns run android