인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

min010724님의 프로필 이미지
min010724

작성한 질문수

GraphQL 완전정복 (키오스크를 만들며 배우는 풀스택 과정) - [2024 부분 리뉴얼]

m1 mac meteor install

해결된 질문

작성

·

410

0

안녕하세요 문의드릴 것이 있습니다. 혹시 M1 MAC 은 meteor가 설치가 되지 않는다고 하는데, 따로 설치하는 방법이 있을까요?
 

답변 5

0

min010724님의 프로필 이미지
min010724
질문자

안녕하세요 강사님 강의를 거의 다 보고 응용하고 싶은 부분이 있어서 질문드립니다.

파이썬 코드로 작성한 파일에서 데이터를 보내 키오스크 프론트를 데이터 값에 따라 다른 화면을 보여주고 싶은데, 파이썬과 스벨트 파일을 어떻게 연결해야 할지를 모르겠습니다.

강의 이외에 질문이지만, 혹시 도움 주실 수 있을까요?

감사합니다.

Indie Coder님의 프로필 이미지
Indie Coder
지식공유자

파이썬 같은 경우 제가 잘아는 분야는 아니지만 일단 제가 알기로는 파이썬에서도 graphQL 구현이 되는 것으로 알고 있습니다. (graphQL 사이트에 가면 https://graphql.org/code/ 언어별 프레임 워크를 볼 수 있습니다. )

GraphQL로 통신 가능한 백엔드를 파이썬으로 만들고

프런트엔드의 apollo-client설정에서 httpLink나 wsLink 등의 주소를 파이썬으로 작성한 GraphQL 서버로 변경하여 작성하면 가능할 것 같습니다.

이런 방법으로 작동시킬 경우 구지 meteor에서 작동하게 할 필요는 없고, 그냥 svelte사이트를 참고하여 프런트를 svelte와 svelte apollo를 이용해 만들어 구동시켜도 될 것 같습니다.

참고로 제가 프로젝트에서 meteor를 이용한 이유는 하나의 서버에서 백엔드와 프런트엔드를 동시에 구동시킬 수 있기 때문이었습니다.

단 주의 해야할게 이런 경우 백엔드와 프런트의 ip가 다를 경우 cors 이슈가 발생할수 있으니 이부분 설정에 유의하셔서 구성해야 할 것 같습니다.

다음 링크는 svelte-apollo를 이용해 단독으로 프런트서버를 구현한 예제 입니다.

https://github.com/hasura/graphql-engine/tree/master/community/sample-apps/svelte-apollo

0

Indie Coder님의 프로필 이미지
Indie Coder
지식공유자

우선 눈에 뛰는 오류중에 ‘sysctl: command not found’가 있어 확인 부탁드립니다.

검색을 해보니 일부 맥에서 sysctl이 /usr/sbin 대신 /sbin에 있는 경우가 있는데 이럴 경우

우선 sysctl의 위치를 한번 확인해 보시고

만약 /sbin에 있을경우 터미널에서

vi ~/.bash_profile 으로 파일을 열고 다음 문구를 추가해 하고

PATH=PATH="$HOME/sbin/:$PATH" export PATH

다음을 실행시켜 적용해 보시기 바랍니다.

source ~/.bash_profile

min010724님의 프로필 이미지
min010724
질문자

확인해보니 sysctl 은 /usr/sbin 위치에 있습니다..

Indie Coder님의 프로필 이미지
Indie Coder
지식공유자

그럼 혹시 터미널에서 다음 명령어를 입력했을 때 sysctl이 대응되는 동작을 하는지도 확인 부탁드립니다 .

sysctl -a

또는

sysctl -h

만약 안된다면

vi ~/.bash_profile 으로 파일을 열고 다음 문구를 추가 하고

PATH=PATH="$HOME/usr/sbin/:$PATH"

export PATH

또는

export PATH=$PATH:/usr/sbin

다음을 실행시켜 적용해 보시기 바랍니다.

source ~/.bash_profile

그후에 sysctl -a 또는 sysctl -h 를 입력해 sysctl이 우선 동작 체크 해보기 바랍니다.

 

그리고 동작한다면 아래 명령어를 터미널에 입력하고 결과가 어떻게 되는지 확인 부탁드립니다.

sysctl -n hw.cpu64bit_capable

min010724님의 프로필 이미지
min010724
질문자

네 수행한 결과 1 이라고 터미널에 출력됩니다!

Indie Coder님의 프로필 이미지
Indie Coder
지식공유자

혹시 권한 관련된 문제는 없는지도 확인 부탁드리겠습니다. 

터미널에서 다음령으로 실행해서

cd ~/.meteor

ls -al 

나오는 결과가 다음과 같이 권한이 root가 아닌 사용자로 나오는지 확인 부탁드립니다. 

그리고 이어서 다음 폴더에서도 

cd /usr/local/bin

ls -al

 

다음과 같이 meteor에서 권한이 사용자로 나오는지 확인 바랍니다. 

min010724님의 프로필 이미지
min010724
질문자

sysctl -a

또는

sysctl -h

만약 안된다면

vi ~/.bash_profile 으로 파일을 열고 다음 문구를 추가 하고

PATH=PATH="$HOME/usr/sbin/:$PATH"

export PATH

또는

export PATH=$PATH:/usr/sbin

다음을 실행시켜 적용해 보시기 바랍니다.

source ~/.bash_profile

 

강사님의 조언대로 수행한 후에 meteor를 다시 설치하고 rosetta2로 nodejs 버전을 14를 설치 했습니다. 그런 후에 meteor run 실행하니 잘 작동됩니다! 

계속 실습 진행해 보겠습니다. 이후 오류가 난다면 또 질문 드리겠습니다. 

정말 감사합니다😊

Indie Coder님의 프로필 이미지
Indie Coder
지식공유자

정말 다행입니다.

제가 m1이 있으면 좀 더 좋은 조언이 가능했을 텐데 지금은 약간 장님 코끼리 만지 듯 대응을 해드린 것 같아 죄송하네요

여튼 실행되어서 다행입니다. ^^ 

0

Indie Coder님의 프로필 이미지
Indie Coder
지식공유자

일단 meteor create 명령이 듣지 않는다면

정상적으로 meteor 가 설치되지 않은 것 같으니 meteor를 한번은 재설치를 해보시는 것을 건의 드립니다.

패키지경우 터미널에서 다음명령어를 실행하거나

meteor-installer uninstall

혹은 다음과 같이 직접적으로 파일을 삭제하는 것을 제가가 가능합니다

rm -rf ~/.meteor sudo

rm /usr/local/bin/meteor

 

그리고 설치전에 현재 node.js 버전도 확인 부탁드리겠습니다. 

node -v 명령어로 node버전을 확인가능하고,

괜찮으시면 nodejs도 16버전 정도로 LTS 버전이 설치하여 사용하시길 권장드립니다.

또한

그리고 다음 공식 문서를 바탕으로 npm 또는 curl을 이용해 다시한번 meteor를 설치를 해보시기 바랍니다.

https://docs.meteor.com/install.html#installation

min010724님의 프로필 이미지
min010724
질문자

현재 nodejs version 16.17.0 LTS인 상태로 설치하고 있습니다. 

npm 과 curl 을 모두 사용하여 다운로드 해봤습니다. 하지만 모두 같은 에러가 뜹니다.

meteor는 젤 최신 버전으로 다운로드 하고 있는데 설치 성공 메세지가 뜨지만 meteor create 는 안되네요... 저 패키지 중 일부가 다운로드 되지 않는 것 같습니다.. 

 

Indie Coder님의 프로필 이미지
Indie Coder
지식공유자

혹시 설치 후에 meteor update 은 해보셨나요?

 

min010724님의 프로필 이미지
min010724
질문자

meteor 관련 명령어를 치면 계속 같은 에러가 나옵니다ㅜㅜ meteor update 쳐도 계속 throw error~ 가 납니다...

0

Indie Coder님의 프로필 이미지
Indie Coder
지식공유자

일단 제가 m1 환경이 없어서 직접 테스트를 해보지 못했고 가이드 위주로 설며드리는 것에 대해 양해를 구하겠습니다.

몇가지 확인사항으로

우선 meteor 공식 문서를 확인해본 결과 터미널은 로제타 없이 되지만 내부 몽고 디비의 경우 로제타2가 필요하다고 하는 것 같습니다. 이부부 우선 참고 부탁드립니다.

https://docs.meteor.com/install.html

로제타2 설치 관련

https://osxdaily.com/2020/12/04/how-install-rosetta-2-apple-silicon-mac/

 

다음으로 터미널에서 meteor update로 최신 버전으로 meteor를 업데이트 하시고

현재 meteor 가 설치된 상태에서 특정폴더를 만든다음

해당 폴더위치에서 다음 명령어로 새로운 프로젝트를 만든 다음 실행해서 서버가 실행이 되는지 확인부탁드리겠습니다.

meteor create ./

npm install

meteor run

이 상태에서 meteor가 실행되지 않는다면 현재 정상적으로 meteor가 설치되지 않았을 가능성이 큽니다.

이럴경우 https://docs.meteor.com/install.html 공식문서를 바탕으로 다시한번 meteor를 설치해야 할 것 같습니다.

 

만약 이렇게 만들어진 상태에서 정상적으로 meteor가 실행되신다면

예제 파일을 다시 다운 받고 npm i 후에 실행해보시길 권장드립니다.

일단 여기까지 한번 테스트 부탁드리겠습니다.

다시 한번 제가 m1이 없어 직접 테스트가 힘든점에 대해서 양해를 부탁드리겠습니다 .

감사합니다.

min010724님의 프로필 이미지
min010724
질문자

강사님 친절한 설명 감사합니다!

그런데 meteor 에 대한 명령어를 치면 계속해서 저 throw error에 에러가 나는데 저 부분은 meteor 설치 패키지 안에 있는 파일입니다.. 그래서 제가 건드릴 수 없습니다..

그래서 계속 설치가 안되는 것 같습니다.. 

mingyeongseo@gyeongseo-MacBookPro ~ % meteor create ./

/Users/mingyeongseo/.meteor/meteor: line 128: sysctl: command not found

/Users/mingyeongseo/.meteor/packages/meteor-tool/.2.7.3.1liadnk.e36f++os.osx.arm64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.arm64/dev_bundle/lib/node_modules/meteor-promise/promise_server.js:218

      throw error;

 

 

0

Indie Coder님의 프로필 이미지
Indie Coder
지식공유자

일단 제가 m1 맥이 없어서 테스트 해보지는 않았지만 2.5.1 버전 이후에는 공식사이트 블로그에서 지원을 한다고 나와 있습니다. 

https://blog.meteor.com/meteor-2-5-1-with-native-mac-m1-support-fb1c4b6990b5

 

그리고 아래 문서는 국내에서 로제타를 이용해 설치하는 방법을 정리해 놓은 자료입니다. 

https://velog.io/@edbera/Macbook-M1%EC%97%90%EC%84%9C-Meteor-%EC%8B%A4%ED%96%89%EA%B8%B0

 

혹시 설치시에 오류가 나신다면 오류에 대해서 저한테 알려주시면 저도 함께 자료를 찾아보도록 하겠습니다. 

감사합니다. 

min010724님의 프로필 이미지
min010724
질문자

감사합니다 강사님! 저 블로그에 나온대로 해봤지만 다른 오류가 뜹니다. 

계속 throw error 이렇게 뜨는데 구글링을 해봐도 잘 모르겠습니다.. 

 

mingyeongseo@gyeongseo-MacBookPro graphql-study-apollo-v3-master % meteor run

/Users/mingyeongseo/.meteor/meteor: line 128: sysctl: command not found

/Users/mingyeongseo/.meteor/packages/meteor-tool/.2.7.3.1liadnk.e36f++os.osx.arm64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.arm64/dev_bundle/lib/node_modules/meteor-promise/promise_server.js:218

      throw error;

      ^

 

Error: Can't get arch with sysctl -n hw.cpu64bit_capable?

    at run (/Users/mingyeongseo/.meteor/packages/meteor-tool/.2.7.3.1liadnk.e36f++os.osx.arm64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.arm64/tools/utils/tools/utils/archinfo.ts:150:15)

    at Object.host (/Users/mingyeongseo/.meteor/packages/meteor-tool/.2.7.3.1liadnk.e36f++os.osx.arm64+web.browser+web.browser.legacy+web.cordova/mt-os.osx.arm64/tools/utils/tools/utils/archinfo.ts:164:11)

    at ProjectContext.reset (/tools/project-context.js:157:45)

    at new ProjectContext (/tools/project-context.js:123:8)

    at Command.doRunCommand [as func] (/tools/cli/commands.js:352:24)

    at /tools/cli/main.js:1534:15

 

 

min010724님의 프로필 이미지
min010724

작성한 질문수

질문하기