์๋
ํ์ธ์,
๋ด Firebase ํ๋ก์ ํธ์ ๊ธฐ๋ฅ์ ๋ฐฐํฌํ๋ ค๊ณ ํ ๋ ์ด ์ค๋ฅ๊ฐ ๋ฐ์ํ๋๋ฐ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์์ต๋๋ค.
Firebase ๋ฒ์ :3.9.0
[๋๋ฒ๊ทธ] TypeError: ์ ์๋์ง ์์ 'pipesCount' ์์ฑ์ ์ฝ์ ์ ์์ต๋๋ค.
module.exports.Readable.pipe์์ (_stream_readable.js:545:16)
module.exports.ZipArchiveOutputStream._smartStream์์ (/usr/local/lib/node_modules/firebase-tools/node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js:171:11)
module.exports.ZipArchiveOutputStream._appendStream์์ (/usr/local/lib/node_modules/firebase-tools/node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js:94:20)
module.exports.ArchiveOutputStream.entry์์ (/usr/local/lib/node_modules/firebase-tools/node_modules/compress-commons/lib/archivers/archive-output-stream.js:89:10)
module.exports.ZipStream.entry(/usr/local/lib/node_modules/firebase-tools/node_modules/zip-stream/lib/zip-stream.js:105:49)
module.exports.Zip.append์์ (/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/lib/plugins/zip.js:30:15)
module.exports.Archiver._moduleAppend์์ (/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/lib/core.js:123:16)
module.exports.Archiver._onQueueTask(/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/lib/core.js:246:8)
/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/node_modules/async/lib/async.js:945:13
Immediate.process์์ [_onImmediate๋ก] (/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/node_modules/async/lib/async.js:913:25)
[์ค๋ฅ]
[์ค๋ฅ] ์ค๋ฅ: ์๊ธฐ์น ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค.
์ด๋ค ๋ฒ์ ์ Node.js๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๊น?
2017๋ 5์ 31์ผ ์์์ผ ์ค์ 5์ 28๋ถ Laguses [email protected]์ด ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
์๋ ํ์ธ์,
๋ด Firebase ํ๋ก์ ํธ์ ๊ธฐ๋ฅ์ ๋ฐฐํฌํ๋ ค๊ณ ํ ๋ ์ด ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ณ
๋๋ ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค
Firebase ๋ฒ์ :3.9.0[๋๋ฒ๊ทธ] TypeError: ์ ์๋์ง ์์ 'pipesCount' ์์ฑ์ ์ฝ์ ์ ์์ต๋๋ค.
module.exports.Readable.pipe์์ (_stream_readable.js:545:16)
module.exports.ZipArchiveOutputStream._smartStream์์
(/usr/local/lib/node_modules/firebase-tools/node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js:171:11)
module.exports.ZipArchiveOutputStream._appendStream์์
(/usr/local/lib/node_modules/firebase-tools/node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js:94:20)
module.exports.ArchiveOutputStream.entry์์
(/usr/local/lib/node_modules/firebase-tools/node_modules/compress-commons/lib/archivers/archive-output-stream.js:89:10)
module.exports.ZipStream.entry์์
(/usr/local/lib/node_modules/firebase-tools/node_modules/zip-stream/lib/zip-stream.js:105:49)
module.exports.Zip.append์์
(/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/lib/plugins/zip.js:30:15)
module.exports.Archiver._moduleAppend์์
(/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/lib/core.js:123:16)
module.exports.Archiver._onQueueTask์์
(/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/lib/core.js:246:8)
~์
/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/node_modules/async/lib/async.js:945:13
Immediate.process์์ [_onImmediate๋ก]
(/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/node_modules/async/lib/async.js:913:25)
[์ค๋ฅ]
[์ค๋ฅ] ์ค๋ฅ: ์๊ธฐ์น ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค.โ
์ด ์ค๋ ๋์ ๊ฐ์ ํ๊ธฐ ๋๋ฌธ์ ์ด ๋ฉ์์ง๋ฅผ ๋ฐ๊ณ ์์ต๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/firebase/firebase-tools/issues/356 ๋๋ ์์๊ฑฐ
์ค
https://github.com/notifications/unsubscribe-auth/AAAD_voVD-nm4r_ZHoU5cToJFNMXgNuGks5r_V0HgaJpZM4Nrkm-
.
์ต์ ๋ฒ์ ์ Node.js ๋ฒ์ : 8.0.0
Slack์ NodeJS 8์์ ์ด ๋ฌธ์ ์ ๋ํ ๋ ๊ฐ์ง ๋ณด๊ณ ์๋ฅผ ๋ ๋ณด์์ต๋๋ค.
@laurenzlong ์ด๊ฒ์ ์ต์ฐ์ ์ผ๋ก ์๊ฐํ๋๋ก ํฉ์๋ค.
์ข ์์ฑ ์ค ํ๋์ ๋ฒ๊ทธ์ธ ๊ฒ ๊ฐ์ต๋๋ค: https://github.com/archiverjs/node-archiver/issues/236
์ด ์ค๋ฅ์ ๋ํด +1. node.js ver:8.0.0 ์์๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค
์ด ์ค๋ฅ์ ๋ํด +1. node.js ver:8.0.0 ์์๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค
node.js๋ฅผ ver:6.10.3์ผ๋ก ๋ค์ด๊ทธ๋ ์ด๋ํ๋๋ฐ ์ด์ ์ค๋ฅ ์์ด ์๋ํฉ๋๋ค.
๋ ธ๋ ๋ฒ์ 8.0.0์ ๋ฐฐํฌํ๋ ค๊ณ ํ ๋ ๋์ผํ ์ค๋ฅ๊ฐ ๋ฐ์ํ๊ณ Firebase ๋ฐฐํฌ๊ฐ ์๊ธฐ์น ์์ ์ค๋ฅ์ ํจ๊ป ์ข ๋ฃ๋ฉ๋๋ค.:
[๋๋ฒ๊ทธ] TypeError: ์ ์๋์ง ์์ 'pipesCount' ์์ฑ์ ์ฝ์ ์ ์์ต๋๋ค.
module.exports.Readable.pipe์์ (_stream_readable.js:545:16)
module.exports.ZipArchiveOutputStream._smartStream์์ (/usr/local/lib/node_modules/firebase-tools/node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js:171:11)
module.exports.ZipArchiveOutputStream._appendStream์์ (/usr/local/lib/node_modules/firebase-tools/node_modules/compress-commons/lib/archivers/zip/zip-archive-output-stream.js:94:20)
module.exports.ArchiveOutputStream.entry์์ (/usr/local/lib/node_modules/firebase-tools/node_modules/compress-commons/lib/archivers/archive-output-stream.js:89:10)
module.exports.ZipStream.entry(/usr/local/lib/node_modules/firebase-tools/node_modules/zip-stream/lib/zip-stream.js:105:49)
module.exports.Zip.append์์ (/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/lib/plugins/zip.js:30:15)
module.exports.Archiver._moduleAppend์์ (/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/lib/core.js:123:16)
module.exports.Archiver._onQueueTask(/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/lib/core.js:246:8)
/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/node_modules/async/lib/async.js:945:13
Immediate.process์์ [_onImmediate๋ก] (/usr/local/lib/node_modules/firebase-tools/node_modules/archiver/node_modules/async/lib/async.js:913:25)
[์ค๋ฅ]
[์ค๋ฅ] ์ค๋ฅ: ์๊ธฐ์น ์์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค.
์ด์ ๋ํ ๋ช ๋ฐฑํ ํ๋/์๋ต์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค. ์ด ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค.
๋๋ถ๋ถ์ Firebase ํธ์คํ ์น์ฌ์ดํธ์ ๊ฒฝ์ฐ ๊ธฐ๋ฅ์ด ์ค์ํ์ง ์๋ค๋ ๊ฒ์ ์ฌ๋๋ค์๊ฒ ์๊ธฐ์ํค๊ธฐ ์ํด ์์๋ก ์ ๊ฑฐํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ ๋ ์ด ์์ ์ ๋ฐฐํฌํ ์ ์์์ต๋๋ค.
๋ํ ์ด์ ์ ์ด ์ค๋ฅ๊ฐ ๋ฐ์ํ์ผ๋ฉฐ AFAIK๋ ํ์ฌ ์ ์ผํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ Node.js๋ฅผ 8.0์์ 7.10์ผ๋ก ๋ค์ด๊ทธ๋ ์ด๋ํ๋ ๊ฒ์ ๋๋ค.
์ผ๋ถ ๋๋ฒ๊น ์ ์ํํ๋ฉด์ ์์งํ ๋ด์ฉ์์ ๋ฌธ์ ๋ zip ํ์ผ( ์ฌ๊ธฐ )์ ์์ฑํ ๋ prepareFunctionsUpload.js ์์ ๋ฐ์ํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ฐ๋ผ์ ๋ฒ์ธ์ ์์นด์ด๋ฒ NPM ํจํค์ง ๋๋ ํด๋น ์ข ์์ฑ ์ค ํ๋์ ๋๋ค.
์ถ๊ฐ ์ ๋ณด๋ฅผ ์ ๊ณตํ ์ ์๋์ง ์๋ ค์ฃผ์ธ์.
ํธ์ง: cc @laurenzlong @mbleigh
ํธ์ง 2: ์ฃ์กํฉ๋๋ค. Lauren์ด ์ด๋ฏธ ์ด ์ฌ์ค์ ์์์ฐจ๋ ธ์ต๋๋ค. ์ ๊ฒฝ์ฐ์ง๋ง
์์นด์ด๋ฒ ํจํค์ง์์ ์์ ์์
์ ๊ธฐ๋ค๋ฆฌ๊ณ ์์ต๋๋ค(์ง๊ธ์). ๊ทธ๋ค์
Lauren์ด ์์ ๋งํฌํ ๋ฌธ์ ์์ ์ด์ ๋ํด ๋
ผ์ํฉ๋๋ค. ํด๊ฒฐํ ์ ์๋ ์ ์ผํ ๋ฐฉ๋ฒ
ํ์ฌ ๋
ธ๋๋ฅผ ๋ค์ด๊ทธ๋ ์ด๋ํ๋ ๊ฒ์
๋๋ค.
2017๋ 6์ 2์ผ ๊ธ์์ผ ์ค์ 7:03 Josep Sayol [email protected]์ด ์์ฑํ์ต๋๋ค.
๋ํ ์ด์ ์ ์ด ์ค๋ฅ๊ฐ ๋ฐ์ํ์ผ๋ฉฐ AFAIK๊ฐ ์ ์ผํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋๋ค.
์ด์ Node.js๋ฅผ 8.0์์ 7.10์ผ๋ก ๋ค์ด๊ทธ๋ ์ด๋ํฉ๋๋ค.์ผ๋ถ ๋๋ฒ๊น ์ ์ํํ๋ฉด์ ์์งํ ๋ด์ฉ์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
zip ํ์ผ์ ์์ฑํ ๋ prepareFunctionsUpload.js ์์(์ฌ๊ธฐ
https://github.com/firebase/firebase-tools/blob/59b61d13c8c4a8478aef168dff2691c58ab234da/lib/prepareFunctionsUpload.js#L80 ),
๋ฐ๋ผ์ ๋ฒ์ธ์ ์์นด์ด๋ฒ NPM ํจํค์ง ๋๋ ํด๋น ํจํค์ง ์ค ํ๋์ ๋๋ค.
์์กด์ฑ.์ถ๊ฐ ์ ๋ณด๋ฅผ ์ ๊ณตํ ์ ์๋์ง ์๋ ค์ฃผ์ธ์.
โ
๋น์ ์ด ๋๊ธ์ ๋ฌ์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/firebase/firebase-tools/issues/356#issuecomment-305797280 ,
๋๋ ์ค๋ ๋๋ฅผ ์์๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AAAD_pQ5NOKxHepQcyQH5WxVNNlO-lnLks5sABY6gaJpZM4Nrkm-
.
@mbleigh ์ฐ๋ฆฌ๋ ํจ์ ํ๋ก์ ํธ์์ ๋ ธ๋ ๋ฒ์ ์ ์ ์ํ์ง ์๊ณ ์์ผ๋ฉฐ ์ํ ํ๋ก์ ํธ์์๋ ๊ทธ๋ ๊ฒ ํ๋ ๊ฒ์ ๋ณด์ง ๋ชปํ์ต๋๋ค. package.json์ ์ข ์์ฑ์ผ๋ก ๋ ธ๋๋ฅผ ์ ์ํ๋ ๊ฒ๋งํผ ๊ฐ๋จํฉ๋๊น? ์๋๋ฉด package.json์ "engine" ๋งค๊ฐ๋ณ์์ ๋๊น?
@ahaverty ๋๋ ๋น์ ์ ์ํด ๋๋ตํ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋ ธ๋๋ ์ ์ญ์ ์ผ๋ก ์ค์น๋๋ฏ๋ก package.json์ ํฌํจ๋์ง ์์ต๋๋ค. nvm(๋ ธ๋ ๋ฒ์ ๊ด๋ฆฌ์)์ ์ฌ์ฉํ์ฌ ๋ ธ๋ ๋ฒ์ ์ ์ ํํ ์ ์์ต๋๋ค. http://michael-kuehnel.de/node.js/2015/09/08/using-vm-to-switch-node-versions.html
์ ๊ฒ ์ด์! ๋ฐฐํฌ ์ค ๋ก์ปฌ์๋ง ๋ฌธ์ ๊ฐ ์์ต๋๊น? (ํ์ด์ด๋ฒ ์ด์ค ๊ธฐ๋ฅ์ ๋ฐฐํฌ์ https://cloud.google.com/functions/docs/writing/์ ๊ด๊ณ์์ด Node 6.9.1์ ์คํํ๋ ๊ฒ ๊ฐ์ต๋๋ค)
@AlexChaseJones ๊ฐ์ฌ
์ณ์.
2017๋ 6์ 2์ผ ๊ธ์์ผ ์ค์ 8:27 Alan Haverty [email protected]์ด ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
์ ๊ฒ ์ด์! ๋ฐฐํฌ ์ค ๋ก์ปฌ์๋ง ๋ฌธ์ ๊ฐ ์์ต๋๊น? (๊ฐ๋ค.
Firebase ๊ธฐ๋ฅ์ ๋ฐฐํฌ์์ ๊ด๊ณ์์ด Node 6.9.1์ ์คํํฉ๋๋ค.
https://cloud.google.com/functions/docs/writing/ )
@AlexChaseJones ๊ฐ์ฌ https://github.com/alexchasejonesโ
๋น์ ์ด ์ธ๊ธ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์ ๋๋ค.์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/firebase/firebase-tools/issues/356#issuecomment-305820945 ,
๋๋ ์ค๋ ๋๋ฅผ ์์๊ฑฐ
https://github.com/notifications/unsubscribe-auth/AAAD_la24E0U4QFWi9hjNOWm7SigOtPMks5sACnmgaJpZM4Nrkm-
.
ํ์ธ, ๋ค์ด๊ทธ๋ ์ด๋๊ฐ ์๋ํฉ๋๋ค.
Firebase Codelab ์์ต์๋ฅผ ์ํํ๋ ๋์ ๊ฐ์ n00bs๋ฅผ ์ํ ์ง์นจ:
nvm install 7.10
nvm use 7.10.0
npm install -g firebase-tools
firebase deploy --only functions
์ด๊ฒ์ ํ์ฌ ๋ ธ๋ ํจ์น๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ณ ์์ต๋๋ค: https://github.com/nodejs/node/pull/13374
Node v8.1.0์ด ๋ฐฉ๊ธ ์ถ์๋์์ผ๋ฉฐ ๋ ธ๋ ๋ฒ์ ์ ์ ๊ทธ๋ ์ด๋ํ๋ฉด ๋ฐฐํฌ๊ฐ ๋ค์ ์๋ํฉ๋๋ค. ๋ถํํ๋ v8.0.0์์ firebase-tools๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
nvm install 8.1.0
nvm use 8.1.0
npm install -g firebase-tools
firebase deploy --only functions
๊ทธ๋ฅ ๋์๋ค
firebase deploy --only functions
babel์ ์ฌ์ฉํ๊ณ ์ ํ์ ์ผ๋ก webpack์ +ES8์์ firebase๊ฐ ํ์ฌ ์ฌ์ฉํ๋ ๋ ธ๋ 6์ผ๋ก ํธ๋์คํ์ผํ ์ ์์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
Node v8.1.0์ด ๋ฐฉ๊ธ ์ถ์๋์์ผ๋ฉฐ ๋ ธ๋ ๋ฒ์ ์ ์ ๊ทธ๋ ์ด๋ํ๋ฉด ๋ฐฐํฌ๊ฐ ๋ค์ ์๋ํฉ๋๋ค. ๋ถํํ๋ v8.0.0์์ firebase-tools๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.