node-red-contrib-alexa-home-skill 설치 [On Onion Omega2+]
요 전날 Onion Omega2 Plus에서 Node-Red를 설치
그 후, 이 환경에 「 node-red-contrib-alexa-home-skill 」를 인스톨 했으므로, 기록으로서 남겨 둡니다.
또한 npm 명령으로 설치할 때 Out Of Memory가 발생했지만 구그를 피할 수있었습니다.
0. 전제 조건
1. 설치
일반적으로 (?)는 Node-Red의 [설정] → [팔레트] → [노드 추가]에서 node-red-contrib-alexa-home-skill을 검색하여 설치하면 되지만 설치할 수 없습니다. 이었다.
그래서 npm 명령으로 설치를 시도했지만 다음과 같이 Out Of Memory가 발생했습니다. 아무래도 46.5MB의 한계에 도달했기 때문에 오류가있는 것 같습니다.
오류 로그root@Omega-xxxx:~/.node-red# npm install node-red-contrib-alexa-home-skill
npm WARN package.json [email protected] No repository field.
npm WARN package.json [email protected] No README data
npm WARN package.json [email protected] No license field.
/
<--- Last few GCs --->
365719 ms: Scavenge 26.6 (46.5) -> 26.6 (46.5) MB, 3.5 / 0 ms (+ 34.1 ms in 1 steps since last GC) [allocation failure] [incremental marking delaying mark-sweep].
366991 ms: Mark-sweep 26.6 (46.5) -> 26.4 (46.5) MB, 1272.0 / 0 ms (+ 34.1 ms in 1 steps since start of marking, biggest step 34.1 ms) [last resort gc].
368264 ms: Mark-sweep 26.4 (46.5) -> 26.4 (46.5) MB, 1272.7 / 0 ms [last resort gc].
<--- JS stacktrace --->
==== JS stack trace =========================================
Security context: 0x27f24d59 <JS Object>
2: resolve [url.js:426] [pc=0x274eb098] (this=0x775f4461 <an Url with map 0x3bd36e65>,relative=0x27f088a9 <String[1]: .>)
3: resolve(aka urlResolve) [url.js:422] [pc=0x274eadf8] (this=0x490181e9 <an Object with map 0x3bd6bec5>,source=0x775f449d <String[21]: //registry.npmjs.org/>,relative=0x27f088a9 <String[1]: .>)
4: toNerfDart(aka toNerfDart) [/usr/lib/node_modules/npm/lib/config/nerf...
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - process out of memory
Aborted
Google에서 검색한 결과 다음 기사를 찾을 수 있었습니다.
npm install - javascript heap out of memory
이 기사에서는, --max_old_space_size 옵션으로, npm install시의 메모리 할당을 변경할 수 있다고 설명했습니다.
그래서 실제로 다음 명령으로 실행해 보았습니다.
콘솔root@Omega-xxxx:~# cd ~/.node-red
root@Omega-xxxx:~/.node-red# node --max_old_space_size=512 $(which npm) install node-red-contrib-alexa-home-skill
실행 결과는 다음과 같이 성공합니다.
node-red-contrib-alexa-home-skill을 설치할 수 있었습니다.
나는 512MB 할당했지만, top 명령으로 이용 메모리량을 보고 있던 느낌, 최대 100MB 정도였으므로, 128MB에서도 괜찮다고 생각합니다.
실행 결과root@Omega-xxxx:~/.node-red# node --max_old_space_size=512 $(which npm) install node-red-contrib-alexa-home-skill
npm WARN package.json [email protected] No repository field.
npm WARN package.json [email protected] No README data
npm WARN package.json [email protected] No license field.
[email protected] node_modules/node-red-contrib-alexa-home-skill
tqq [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
tqq [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
mqq [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
2. 확인
Node-Red에 연결하여 Alexa 노드가 있는지 확인합니다.
제대로, Alexa 노드가 확인할 수 있었습니다.
다음 번에는 플로우 작성 절차로 진행하고 싶습니다.
※전회의 기사에서 node-red-contrib-alexa-local 를 인스톨이라고 기재했습니다만, node-red-contrib-alexa-local 는, ON/OFF 제어만을 서포트라고 하는 것으로, 보다 세세한 제어가 가능 node-red-contrib-alexa-home-skill 했습니다. 그건 그렇고, node-red-contrib-alexa-local은 Node-Red 설정 화면에서 설치할 수있었습니다.
이상
Reference
이 문제에 관하여(node-red-contrib-alexa-home-skill 설치 [On Onion Omega2+]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/spiderx_jp/items/51366fc03d565568a61f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
root@Omega-xxxx:~/.node-red# npm install node-red-contrib-alexa-home-skill
npm WARN package.json [email protected] No repository field.
npm WARN package.json [email protected] No README data
npm WARN package.json [email protected] No license field.
/
<--- Last few GCs --->
365719 ms: Scavenge 26.6 (46.5) -> 26.6 (46.5) MB, 3.5 / 0 ms (+ 34.1 ms in 1 steps since last GC) [allocation failure] [incremental marking delaying mark-sweep].
366991 ms: Mark-sweep 26.6 (46.5) -> 26.4 (46.5) MB, 1272.0 / 0 ms (+ 34.1 ms in 1 steps since start of marking, biggest step 34.1 ms) [last resort gc].
368264 ms: Mark-sweep 26.4 (46.5) -> 26.4 (46.5) MB, 1272.7 / 0 ms [last resort gc].
<--- JS stacktrace --->
==== JS stack trace =========================================
Security context: 0x27f24d59 <JS Object>
2: resolve [url.js:426] [pc=0x274eb098] (this=0x775f4461 <an Url with map 0x3bd36e65>,relative=0x27f088a9 <String[1]: .>)
3: resolve(aka urlResolve) [url.js:422] [pc=0x274eadf8] (this=0x490181e9 <an Object with map 0x3bd6bec5>,source=0x775f449d <String[21]: //registry.npmjs.org/>,relative=0x27f088a9 <String[1]: .>)
4: toNerfDart(aka toNerfDart) [/usr/lib/node_modules/npm/lib/config/nerf...
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - process out of memory
Aborted
root@Omega-xxxx:~# cd ~/.node-red
root@Omega-xxxx:~/.node-red# node --max_old_space_size=512 $(which npm) install node-red-contrib-alexa-home-skill
root@Omega-xxxx:~/.node-red# node --max_old_space_size=512 $(which npm) install node-red-contrib-alexa-home-skill
npm WARN package.json [email protected] No repository field.
npm WARN package.json [email protected] No README data
npm WARN package.json [email protected] No license field.
[email protected] node_modules/node-red-contrib-alexa-home-skill
tqq [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
tqq [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
mqq [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
Node-Red에 연결하여 Alexa 노드가 있는지 확인합니다.
제대로, Alexa 노드가 확인할 수 있었습니다.
다음 번에는 플로우 작성 절차로 진행하고 싶습니다.
※전회의 기사에서 node-red-contrib-alexa-local 를 인스톨이라고 기재했습니다만, node-red-contrib-alexa-local 는, ON/OFF 제어만을 서포트라고 하는 것으로, 보다 세세한 제어가 가능 node-red-contrib-alexa-home-skill 했습니다. 그건 그렇고, node-red-contrib-alexa-local은 Node-Red 설정 화면에서 설치할 수있었습니다.
이상
Reference
이 문제에 관하여(node-red-contrib-alexa-home-skill 설치 [On Onion Omega2+]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/spiderx_jp/items/51366fc03d565568a61f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)