Expo(로 만든 프로젝트)가 움직이지 않는다 "Error: Cannot find module '../../tools/PackageManager'"
10705 단어 iOSreactnative개발 환경안드로이드expo
소개
평상시는 React나 Vue를 골고루 쓰고 있는 프론트 엔지니어입니다만, 모바일에도 흥미가 나오고 있으므로 ReactNative에도 손을 내려고 생각 Expo를 인스톨 해 보았습니다.
하지만 시작 단계에서 제목 오류에 걸렸기 때문에 해결 방법을 공유합니다.
발생한 오류 내용
Expo에서 만든 프로젝트에서 yarn start를 할 때 발생했습니다.
yarn run v1.12.3
$ expo start
Starting project at /Volumes/workspace/AwesomeProject
Expo DevTools is running at http://localhost:19002
Opening DevTools in the browser... (press shift-d to disable)
internal/modules/cjs/loader.js:638
throw err;
^
Error: Cannot find module '../../tools/PackageManager'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
at Function.Module._load (internal/modules/cjs/loader.js:562:25)
at Module.require (internal/modules/cjs/loader.js:690:17)
at require (internal/modules/cjs/helpers.js:25:18)
at Object.<anonymous> (/Volumes/workspace/AwesomeProject/node_modules/@react-native-community/cli/build/commands/install/install.js:10:46)
at Module._compile (internal/modules/cjs/loader.js:776:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
Metro Bundler process exited with code 1
Set EXPO_DEBUG=true in your env to view the stack trace.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
결론과 해결방법
Mac 볼륨을 대소문자로 구분했기 때문이었습니다.
Mac의 기본 볼륨을 사용하거나 새 파티션을 자르고 대소문자를 구분하지 않는 설정으로 만들면 피할 수 있습니다.
원인
Windows나 Mac은 디폴트의 볼륨 설정에서는 파일의 대문자와 소문자는 구별하지 않기 때문에, 아래와 같은 import도 가능합니다.
디렉토리 구성
./App.js
./packageManager.js
App.js
// ファイルは名は小文字"p"だが、importのファイル名は大文字”P"
import PackageManager from "./PackageManager.js";
그러나, 리눅스 등의 경우는 디폴트로 대문자 소문자를 구별하므로,
AWS 환경에 배포하면 많은 양의 오류가 발생합니다.
무슨 일이 일어날 수 있습니다.
그래서 맥 디스크 유틸리티에서 프로그래밍을 위해 대소문자를 구별하는 파티션을 만들고 그 안에 작업 공간을 만드는 습관으로 만들었기 때문에 이번 문제가 발생했습니다.
오류는 누가 발행하는가?
에러문의 도중에도 출력되고 있습니다만, @react-native-community/cli
가 출력하고 있습니다.
다만, @react-native-community/cli
자체의 수정은 2019/4 의 단계에서 병합되고 있습니다만, 병합된 타이밍에 메이저 버젼이 2.0 에 올랐습니다.
expo-cli에서 생성되는 package-lock.json을 확인하면 "@react-native-community/cli": "^1.2.1"
로 되어 있기 때문에, 메이저 버전 업에는 대응할 수 없어 버그가 남은 채로 하는 결과가 되고 있습니다.
expo/expo-cli -> expo/react-native -> @react-native-community/cli
라고 하는 순서로 참조하고 있으므로, expo/react-native가 @react-native-community/cli의 v2.0에 대응할 때까지 기장에 기다릴 수 있을 것 같습니다.
Reference
이 문제에 관하여(Expo(로 만든 프로젝트)가 움직이지 않는다 "Error: Cannot find module '../../tools/PackageManager'"), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/masaki-shinkawa0303/items/9f4d4c727a28153e0477
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Expo에서 만든 프로젝트에서 yarn start를 할 때 발생했습니다.
yarn run v1.12.3
$ expo start
Starting project at /Volumes/workspace/AwesomeProject
Expo DevTools is running at http://localhost:19002
Opening DevTools in the browser... (press shift-d to disable)
internal/modules/cjs/loader.js:638
throw err;
^
Error: Cannot find module '../../tools/PackageManager'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
at Function.Module._load (internal/modules/cjs/loader.js:562:25)
at Module.require (internal/modules/cjs/loader.js:690:17)
at require (internal/modules/cjs/helpers.js:25:18)
at Object.<anonymous> (/Volumes/workspace/AwesomeProject/node_modules/@react-native-community/cli/build/commands/install/install.js:10:46)
at Module._compile (internal/modules/cjs/loader.js:776:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
Metro Bundler process exited with code 1
Set EXPO_DEBUG=true in your env to view the stack trace.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
결론과 해결방법
Mac 볼륨을 대소문자로 구분했기 때문이었습니다.
Mac의 기본 볼륨을 사용하거나 새 파티션을 자르고 대소문자를 구분하지 않는 설정으로 만들면 피할 수 있습니다.
원인
Windows나 Mac은 디폴트의 볼륨 설정에서는 파일의 대문자와 소문자는 구별하지 않기 때문에, 아래와 같은 import도 가능합니다.
디렉토리 구성
./App.js
./packageManager.js
App.js
// ファイルは名は小文字"p"だが、importのファイル名は大文字”P"
import PackageManager from "./PackageManager.js";
그러나, 리눅스 등의 경우는 디폴트로 대문자 소문자를 구별하므로,
AWS 환경에 배포하면 많은 양의 오류가 발생합니다.
무슨 일이 일어날 수 있습니다.
그래서 맥 디스크 유틸리티에서 프로그래밍을 위해 대소문자를 구별하는 파티션을 만들고 그 안에 작업 공간을 만드는 습관으로 만들었기 때문에 이번 문제가 발생했습니다.
오류는 누가 발행하는가?
에러문의 도중에도 출력되고 있습니다만, @react-native-community/cli
가 출력하고 있습니다.
다만, @react-native-community/cli
자체의 수정은 2019/4 의 단계에서 병합되고 있습니다만, 병합된 타이밍에 메이저 버젼이 2.0 에 올랐습니다.
expo-cli에서 생성되는 package-lock.json을 확인하면 "@react-native-community/cli": "^1.2.1"
로 되어 있기 때문에, 메이저 버전 업에는 대응할 수 없어 버그가 남은 채로 하는 결과가 되고 있습니다.
expo/expo-cli -> expo/react-native -> @react-native-community/cli
라고 하는 순서로 참조하고 있으므로, expo/react-native가 @react-native-community/cli의 v2.0에 대응할 때까지 기장에 기다릴 수 있을 것 같습니다.
Reference
이 문제에 관하여(Expo(로 만든 프로젝트)가 움직이지 않는다 "Error: Cannot find module '../../tools/PackageManager'"), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/masaki-shinkawa0303/items/9f4d4c727a28153e0477
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Windows나 Mac은 디폴트의 볼륨 설정에서는 파일의 대문자와 소문자는 구별하지 않기 때문에, 아래와 같은 import도 가능합니다.
디렉토리 구성
./App.js
./packageManager.js
App.js
// ファイルは名は小文字"p"だが、importのファイル名は大文字”P"
import PackageManager from "./PackageManager.js";
그러나, 리눅스 등의 경우는 디폴트로 대문자 소문자를 구별하므로,
AWS 환경에 배포하면 많은 양의 오류가 발생합니다.
무슨 일이 일어날 수 있습니다.
그래서 맥 디스크 유틸리티에서 프로그래밍을 위해 대소문자를 구별하는 파티션을 만들고 그 안에 작업 공간을 만드는 습관으로 만들었기 때문에 이번 문제가 발생했습니다.
오류는 누가 발행하는가?
에러문의 도중에도 출력되고 있습니다만, @react-native-community/cli
가 출력하고 있습니다.
다만, @react-native-community/cli
자체의 수정은 2019/4 의 단계에서 병합되고 있습니다만, 병합된 타이밍에 메이저 버젼이 2.0 에 올랐습니다.
expo-cli에서 생성되는 package-lock.json을 확인하면 "@react-native-community/cli": "^1.2.1"
로 되어 있기 때문에, 메이저 버전 업에는 대응할 수 없어 버그가 남은 채로 하는 결과가 되고 있습니다.
expo/expo-cli -> expo/react-native -> @react-native-community/cli
라고 하는 순서로 참조하고 있으므로, expo/react-native가 @react-native-community/cli의 v2.0에 대응할 때까지 기장에 기다릴 수 있을 것 같습니다.
Reference
이 문제에 관하여(Expo(로 만든 프로젝트)가 움직이지 않는다 "Error: Cannot find module '../../tools/PackageManager'"), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/masaki-shinkawa0303/items/9f4d4c727a28153e0477
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Expo(로 만든 프로젝트)가 움직이지 않는다 "Error: Cannot find module '../../tools/PackageManager'"), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/masaki-shinkawa0303/items/9f4d4c727a28153e0477텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)