자주 발생하는 에러

Window에서 개발세팅 중 에러

Q. npm, yarn과 같은 명령어가 사용이 안되요.

A1. window에서는 해당 명령어들을 사용하기 위해서는 환경변수를 추가해 주어야 합니다.
윈도우 설치 프로그램으로 설치했을 경우 자동으로 추가해 주지만, 다른 방법으로 설치했을 경우 사용자가 직접 추가해 주어야 하는 경우도 있습니다.
각 개발도구를 설치한 뒤에는 반드시 버전체크 명령어를 사용해서 정상적으로 설치되었는지 확인하시는 것을 추천드립니다.

A2. 경우에 따라서, 사용하고 있는 쉘(powershell, git bash 등)을 새로고침 해줘야 하는 경우가 있습니다. 이 경우 창을 닫은 후 새 쉘 창을 열어 확인해 줍니다.

Q.window build tools가 제대로 설치되지 않아요.

A. node-gyp를 설치하는 과정에서 window build tools 관련으로 오류가 날 수 있습니다. 상당히 오류가 잦은 부분이므로 몇가지 내용을 공유드립니다.

  1. window에서 설치시 가급적 마이크로소프트 공식 페이지에서 visual studio installer로 설치하는 것을 추천드립니다. visual studio community 다운받기를 하시면 설치할 수 있습니다

  2. 버전은 가급적 2015, 2017중 하나를 추천드립니다. 현재 엔트리팀에서 사용중인 버전으로 이외 버전은 아직 확인되지 않았습니다.

  3. pc에 여러 버전의 window build tools(혹은 visual studio)가 설치되어 있다면, npm config set 명령어로 ‘msvs_version’을 ‘2017(혹은2015)’로 세팅해서 원하는 버전을 선택할 수 있습니다.
    설치된 버전이 1개 뿐이라면 자동으로 해당 버전을 찾기 때문에, 필요한 상황이 아니라면 사용하지 마시기 바랍니다.

  4. 설치된 window build tools 버전에 따라 요구하는 python 버전이 다를 수도 있습니다. 유의하시기 바랍니다.

entry-hw에서 에러

Q. yarn serve를 했는데 너무 오래 걸려요.

A. pc성능에 따라 10분 이상 걸릴 수도 있습니다. 에러가 발생하지 않았다면 정상적인 상황입니다.

Q. 정상적으로 켜졌는데 모듈이 아무것도 나타나지 않고 흰 화면만 보여요.

A. electron-rebuild의 빌드가 제대로 되지 않거나 잔여 캐시가 남아서 발생한 문제입니다. 프로젝트의 node_modules를 삭제하시고 ‘yarn’, ‘yarn setting’(혹은 ‘npm i’, ‘npm run setting’) 순으로 재설치해주시기 바랍니다.

entryjs에서 에러(블록개발)

Q. 블럭을 추가했는데 나타나지 않아요.

A. 블럭이 나타나지 않은 원인에는 여러가지가 있습니다. 크롬 개발자 도구(f12)의 콘솔창에서 아래의 방법들을 순차적으로 테스트해보시기 바랍니다.

  1. Entry.모듈명(ex. Entry.Arduino)를 입력해서 존재하는지 확인합니다. 만약 없다면 entryjs에 Entry객체 하위에 모듈이 정상적으로 추가되지 않은 상태입니다.

  2. Entry.HARDWARE_LIST[‘하드웨어 id’] (ex. Entry.HARDWARE_LIST[‘52.1’])를 입력해서 확인합니다. 만약 없다면 entryjs 모듈에 입력한 id가 정상적이지 않을 확률이 높습니다.

  3. Entry.block.하드웨어블록명 (ex. Entry.block.ardublock_analog_list) 이 있는지 확인합니다. 만약 없다면 블록이 정상적으로 추가되지 않은 상태입니다. blockMenuBlocks에 블록을 추가하였는지 확인 바랍니다.

  4. 1~3까지 모두 확인되지만 나타나지 않을경우 각 블록의 isNotFor가 모듈.name이름과 동일한지 확인하시기 바랍니다.

Q. 블럭이 나타나지만 텅빈 블록으로 보여요.

A. 블럭의 다국어가 정상적으로 추가되지 않은 상황입니다. setLanguage에 블록이름과 동일한 프로퍼티를 추가하고 다국어를 추가해주시기 바랍니다.

기타 유의사항

A. 명령어를 정상적으로 입력해도 문제가 발생한다면 사용하는 쉘의 관리자 권한 문제일 수 있습니다. sudo 명령어를 사용하거나 window환경이라면 관리자 권한으로 powershell을 실행시켜 주시기 바랍니다.