Windows์ "npm"์์ ์ค์น
๊ด๋ฆฌ์ ๋ชจ๋์์ ์์ ์ฌ์ฉํด๋ Electron์ด ์ ๋๋ก ์ค์น๋์ง ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ข ์์ฑ์ ์ค์นํ ๋ ์ผ๋ฐ์ ์ผ๋ก "npm"์ ํ์ํ๋ ์ข ์์ฑ ํธ๋ฆฌ ํ์๊ฐ ์๋ฃ๋์ง ์์ต๋๋ค.
git clone https://github.com/electron/electron-quick-start
cd electron-quick-start
npm install
npm start
> [email protected] start PATH\electron-quick-start
> electron .
PATH\electron-quick-start\node_modules\electron\index.js:9
throw new Error('Electron failed to install correctly, please delete node_modules/' + path.basename(__dirname) + ' and try installing again')
^^
Error: Electron failed to install correctly, please delete node_modules/electron and try installing again
at Object.<anonymous> (PATH\electron-quick-start\node_modules\electron\index.js:9:9)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (PATH\electron-quick-start\node_modules\electron\cli.js:3:16)
at Module._compile (module.js:570:32)
npm ERR! Windows_NT 10.0.10586
npm ERR! argv "C:\\nodejs\\node.exe" "C:\\Users\\{user_name}\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "start"
npm ERR! node v6.9.4
npm ERR! npm v4.1.1
npm ERR! code ELIFECYCLE
npm ERR! [email protected] start: electron .
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script 'electron .'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the electron-quick-start package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! electron .
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs electron-quick-start
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls electron-quick-start
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! PATH\electron-quick-start\npm-debug.log
๊ฐ์ฌ!
๊ด๋ฆฌ์ ๋ชจ๋์์ ์์ ์ฌ์ฉํ๋๋ผ๋
๊ทธ๊ฒ์ ์ผ๋ฐ์ ์ผ๋ก ์ ๋ง ๋์ ์๊ฐ์ ๋๋ค. ๊ด๋ฆฌ ๋ชจ๋ ์์ด NPM/๋ ธ๋ ํ๊ฒฝ์ด ์๋ํฉ๋๊น?
๋ด ๋ง์, ์ค๋ฅ๊ฐ ์ ์ํ ๋๋ก ์ํํ๊ณ "node_modules/electron"์ ์ญ์ ํ๊ณ ๋ค์ ์๋ํ์ต๋๊น?
@MarshallOfSound ๋ง์์, ์ฌ๋ฌ๋ฒ ํ์ด์.
๋ชจ๋์ ์ค์นํ๋ ๋์ ๋ค์๊ณผ ๊ฐ์ด ๋จ์ ์๊ธฐ ๋๋ฌธ์ ๋ถ๋ช ํ ์ฌ๋ฐ๋ฅด๊ฒ ์๋ฃ๋์ง ์๋ ๊ฒ์ด ์ด์ํ๊ฒ ๋ณด์ ๋๋ค.
$ npm install
> [email protected] postinstall C:\Users\Lizandro Zerpa\Desktop\SisTelSim\SisTelSim_Dev\electron-quick-start\node_modules\electron
> node install.js
(๋ณด๋ฅ ์ํ๋ก ์ ์ง๋จ)
@enlight ์ฌ๋ฌ ๊ธ๋ก๋ฒ ์ธ์คํด์ค๋ฅผ ์ค์นํ์ผ๋ฉฐ ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํฉ๋๋ค. ๊ด๋ฆฌ์์ ํจ๊ป ์ค์นํด์ผ ํ๋ ๊ฒฝ์ฐ๋ ๊ฑฐ์ ์์ต๋๋ค.
@LizanLycan Electron์ ๋ค์ด๋ก๋ํ๋ ๋์ node install.js
์ ๋จ์ ์์ต๋๋ค. ์ค๊ฐ์ ์ทจ์ํ์ง ๋ง์๊ณ ์๋ฃํ์๊ธฐ ๋ฐ๋๋๋ค.
@MarshallOfSound ์ข์, ๊ทธ๊ฒ ๋ด๊ฐ ํ ์ผ์ด์ผ. ์ผ๋ง๋ ๊ฑธ๋ฆด์ง ์ง์์ด ๊ฐ๋ ค๊ณ ์ํฌ ์ฌ์ด์ฆ๋ฅผ ์ฐพ๊ณ ์์๋๋ฐ ๋ชป๋ฐ์์ด์. 1์๊ฐ ๋๊ฒ ๋๋์ด์. ์์ง ๊ธฐ๋ค๋ฆฌ๊ณ ์์ต๋๋ค. ๋๊ธ ๊ฐ์ฌํฉ๋๋ค.
๋ ธ๋ ฅํ๋ค
npm install electron --verbose
๋ค์ด๋ก๋ ์งํ๋ฅ ํ์์ค์ ์ถ๋ ฅํด์ผ ํฉ๋๋ค ๐
@MarshallOfSound ์ ๋ง ๊ฐ์ฌํฉ๋๋ค. ์ด์ ๋ค์ด๋ก๋ ์งํ ์ํฉ์ ๋ณผ ์ ์์ต๋๋ค. ๋๋ด๊ณ ๋๊ธ ๋ฌ๋๊น์ง ๊ธฐ๋ค๋ฆฌ๊ฒ ์ต๋๋ค. ๐
@MarshallOfSound
๋ถ๋ช
ํ ์ฝ๊ฐ์ ํ๋ ๊ธฐ์จ.
[email protected] ์ค์น ํ C:\Users\Lizandro Zerpa\AppData\Roamingnpm\node_modules\electron
๋
ธ๋ install.js
์ ์-v1.4.15-win32-x64.zip ๋ค์ด๋ก๋
์ค๋ฅ: ECONNRESET ์ฝ๊ธฐ
C:\Users\Lizandro Zerpa\AppData\Roamingnpm\node_modules\electron\install.js:46
์ค๋ฅ๋ฅผ ๋์ง๋ค
^^
์ค๋ฅ: ECONNRESET ์ฝ๊ธฐ
export._errnoException์์ (util.js:1022:11)
TLSWrap.onread์์ (net.js:569:26)
npm ๋์ฌ ์๋ช
์ฃผ๊ธฐ [email protected] ~postinstall: ์๋ช
์ฃผ๊ธฐ์ unsafe-perm true
npm ๋์ฌ ์๋ช
์ฃผ๊ธฐ [email protected] ~postinstall: ๊ฒฝ๋ก: C:\Users\Lizandro Zerpa\AppData\Roamingnpm\node_modulesnpm\bin\node-gyp-bin;C:\Users\Lizandro Zerpa\AppData\Roamingnpm\node_modules\electron \node_modules.bin;C:\Users\Lizandro Zerpa\AppData\Roamingnpm\node_modules.bin;C:\Program Files (x86)NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Intel\iCLS Client\ ;C:\Program Files\Intel\iCLS ํด๋ผ์ด์ธํธ\;C:\WINDOWSsystem32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Intel\Intel(R) ๊ด๋ฆฌ ์์ง ๊ตฌ์ฑ ์์ \DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\ ;C:\Program Files (x86)\Skype\Phone\;C:\nodejs\;C:\Program Files\Git\cmd;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit \;C:\Users\Lizandro Zerpa.dnx\bin;C:\Program Files\Microsoft DNX\Dnvm\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Ruby22-x64\ bin;C:\MinGW\bin;C:\MinGW\msys\bin\1.0;C:\Users\Lizandro Zerpa\AppData\Roamingnpm
npm ๋์ฌ ์๋ช
์ฃผ๊ธฐ [email protected] ~postinstall: CWD: C:\Users\Lizandro Zerpa\AppData\Roamingnpm\node_modules\electron
npm ์ ๋ณด ์๋ช
์ฃผ๊ธฐ [email protected] ~postinstall: ์ฌํ ์ค์น ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ์ง ๋ชปํ์ต๋๋ค.
C:\Users\Lizandro Zerpa\AppData\Roamingnpm\node_modules.staging์ ๋ํด C:\Users\Lizandro Zerpa\AppData\Roamingnpm-cache_locksstaging-d38db31138d15c28.lock์ ์ฌ์ฉํ์ฌ npm ๋์ฌ ์ ๊ธ ํด์ ์๋ฃ
npm verb ๋ถ๋๋ฝ๊ฒRm์ ๋ด์ฉ์ ์ ๊ฒฝ ์ฐ์ง ์์ต๋๋ค. ํต ๊ณต๊ฒฉ C:\Users\Lizandro Zerpa\AppData\Roamingnpm\node_modules\electron
npm verb softRm์ ๋ด์ฉ์ ์ ๊ฒฝ ์ฐ์ง ์์ต๋๋ค. ํต ๊ณต๊ฒฉ C:\Users\Lizandro Zerpa\AppData\Roamingnpm\node_modules\electron
npm verb ๋ถ๋๋ฝ๊ฒRm์ ๋ด์ฉ์ ์ ๊ฒฝ ์ฐ์ง ์์ต๋๋ค. ํต ๊ณต๊ฒฉ C:\Users\Lizandro Zerpa\AppData\Roamingnpm\node_modules\electron
npm verb softRm์ ๋ด์ฉ์ ์ ๊ฒฝ ์ฐ์ง ์์ต๋๋ค. ํต ๊ณต๊ฒฉ C:\Users\Lizandro Zerpa\AppData\Roamingnpm\node_modules\electron
npm verb ๋ถ๋๋ฝ๊ฒRm์ ๋ด์ฉ์ ์ ๊ฒฝ ์ฐ์ง ์์ต๋๋ค. ํต ๊ณต๊ฒฉ C:\Users\Lizandro Zerpa\AppData\Roamingnpm\node_modules\electron
npm verb ๋ถ๋๋ฝ๊ฒRm์ ๋ด์ฉ์ ์ ๊ฒฝ ์ฐ์ง ์์ต๋๋ค. ํต ๊ณต๊ฒฉ C:\Users\Lizandro Zerpa\AppData\Roamingnpm\node_modules\electron
npm verb ๋ถ๋๋ฝ๊ฒRm์ ๋ด์ฉ์ ์ ๊ฒฝ ์ฐ์ง ์์ต๋๋ค. ํต ๊ณต๊ฒฉ C:\Users\Lizandro Zerpa\AppData\Roamingnpm\node_modules\electron
npm verb ๋ถ๋๋ฝ๊ฒRm์ ๋ด์ฉ์ ์ ๊ฒฝ ์ฐ์ง ์์ต๋๋ค. ํต ๊ณต๊ฒฉ C:\Users\Lizandro Zerpa\AppData\Roamingnpm\node_modules\electron
npm verb ๋ถ๋๋ฝ๊ฒRm์ ๋ด์ฉ์ ์ ๊ฒฝ ์ฐ์ง ์์ต๋๋ค. ํต ๊ณต๊ฒฉ C:\Users\Lizandro Zerpa\AppData\Roamingnpm\node_modules\electron
npm ๋์ฌ ์คํ ์ค๋ฅ: [email protected] postinstall: node install.js
npm ๋์ฌ ์คํ ์ข
๋ฃ ์ํ 1
EventEmitter์ npm ๋์ฌ ์คํ.
emitTwo์ npm ๋์ฌ ์คํ(events.js:106:13)
EventEmitter.emit์ npm ๋์ฌ ์คํ(events.js:191:7)
ChildProcess์ npm ๋์ฌ ์คํ.
emitTwo์ npm ๋์ฌ ์คํ(events.js:106:13)
ChildProcess.emit์ npm ๋์ฌ ์คํ(events.js:191:7)
MaybeClose์ npm ๋์ฌ ์คํ(internal/child_process.js:877:16)
Process.ChildProcess._handle.onexit์ npm ๋์ฌ ์คํ(internal/child_process.js:226:5)
npm ๋์ฌ pkgid [email protected]
npm ๋์ฌ cwd C:\Users\Lizandro Zerpa\Desktop\SisTelSim\SisTelSim_Dev\electron-quick-start
npm ์ค๋ฅ! Windows_NT 10.0.10586
npm ์ค๋ฅ! argv "C:\nodejs\node.exe" "C:\Users\Lizandro Zerpa\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js" "์ค์น" "์ ์" "-g" "- -๋ง ์๊ฐ ๋ง์"
npm ์ค๋ฅ! ๋
ธ๋ v6.9.4
npm ์ค๋ฅ! npm v4.1.1
npm ์ค๋ฅ! ์ฝ๋ ELIFECYCLE
npm ์ค๋ฅ! ์ ์ @1.4.15 ์ค์น ํ: node install.js
npm ์ค๋ฅ! ์ข
๋ฃ ์ํ 1
npm ์ค๋ฅ!
npm ์ค๋ฅ! [email protected] postinstall ์คํฌ๋ฆฝํธ 'node install.js'์์ ์คํจํ์ต๋๋ค.
npm ์ค๋ฅ! ์ต์ ๋ฒ์ ์ node.js ๋ฐ npm์ด ์ค์น๋์ด ์๋์ง ํ์ธํ์ญ์์ค.
npm ์ค๋ฅ! ๊ทธ๋ ๋ค๋ฉด ์ด๊ฒ์ ์ ์ ํจํค์ง์ ๋ฌธ์ ์ผ ๊ฐ๋ฅ์ฑ์ด ๊ฐ์ฅ ๋์ผ๋ฉฐ,
npm ์ค๋ฅ! npm ์์ฒด๊ฐ ์๋๋๋ค.
npm ์ค๋ฅ! ์์ฑ์์๊ฒ ์ด๊ฒ์ด ์์คํ
์์ ์คํจํ๋ค๊ณ ์๋ฆฝ๋๋ค.
npm ์ค๋ฅ! ๋
ธ๋ install.js
npm ์ค๋ฅ! ๋ค์์ ํตํด ์ด ํ๋ก์ ํธ์ ์ด์๋ฅผ ์ฌ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ ๋ณด๋ฅผ ์ป์ ์ ์์ต๋๋ค.
npm ์ค๋ฅ! npm ๋ฒ๊ทธ ์ ์
npm ์ค๋ฅ! ๋๋ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ ๋ค์์ ํตํด ์ ๋ณด๋ฅผ ์ป์ ์ ์์ต๋๋ค.
npm ์ค๋ฅ! npm ์์ ์ ls ์ ์
npm ์ค๋ฅ! ์์ ์ถ๊ฐ ๋ก๊น
์ถ๋ ฅ์ด ์์ ์ ์์ต๋๋ค.
npm ๋์ฌ ์ข
๋ฃ [ 1, true ]
npm ์ค๋ฅ! ์ง์ ์์ฒญ ์ ๋ค์ ํ์ผ์ ํฌํจํ์ญ์์ค.
npm ์ค๋ฅ! C:\Users\Lizandro Zerpa\Desktop\SisTelSim\SisTelSim_Dev\electron-quick-startnpm-debug.log
์ผ๋ถ ๋คํธ์ํฌ ๋ฌธ์ ๊ฐ ์๋ ๊ฒ ๊ฐ์ต๋๋ค(์ด๋ ์ ํฌ๊ฐ ํต์ ํ ์ ์๋ ๋ฌธ์ ์ ๋๋ค ๐ข ).
์ฌ๊ธฐ ์์ ๋ธ๋ผ์ฐ์ ์์ ZIP ํ์ผ์ ์๋์ผ๋ก ๋ค์ด๋ก๋ํ์ฌ C:\Users\<username>\.electron
ํด๋์ ์ ์ฅํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ฉด ์์ฒด์ ์ผ๋ก ๋ค์ด๋ก๋ํ ํ์๊ฐ ์์ต๋๋ค ๐
์ด์ ๋ํ ํด๊ฒฐ์ฑ
์ ์ฐพ์ ์ ์์ต๋๋ค -
m WARN ์๋ช
์ฃผ๊ธฐ [email protected] ~postinstall: wd %s %s(wd=%s) [email protected] node install.js์์ ์คํํ ์ ์์ต๋๋ค. /home/nikhil/workspace/electron_demo/electron-quick-start/node_modules /์ ์
[email protected] /home/nikhil/workspace/electron_demo/electron-quick-start
-- [email protected]
+-- [email protected]
| +-- [email protected]
| |
-- [email protected]
| +-- [email protected]
| | +-- ์ฐ์ํ[email protected]
| | +-- [email protected]
| | +-- [email protected]
| | +-- ๊ฒฝ๋ก๋ ์ ๋์ @1.0.1
| | -- [email protected]
| |
-- [email protected]
| | +-- fs. ๋ฆฌ์ผํจ์ค@1.0.0
| | +-- [email protected]
| | | -- [email protected]
| | +-- [email protected]
| | |
-- ์ค๊ดํธ ํ์ฅ@1.1.6
| | | +-- ๊ท ํ ์ผ์น@0.4.2
| | | -- [email protected]
| |
-- ํ ๋ฒ@1.4.0
| +-- [email protected]
| +-- [email protected]
| +-- ๋๊ฒ@2.0.1
| | +-- ์์ ๋ฐ์ดํธ@1.0.4
| | | +-- [email protected]
| | | -- [email protected]
| | | +-- [email protected]
| | | |
-- ๋ํ ์ผ์ด์ค@2.1.1
| | | +-- [email protected]
| | | +-- ํฐ ๊ฑฐ๋ถ@1.6.0
| | | | +-- ํ์ฌ ์ฒ๋ฆฌ๋์ง ์์@0.4.1
| | | | | -- [email protected]
| | | |
-- ์ ํธ ์ข
๋ฃ@3.0.2
| | | +-- [email protected]
| | | +-- [email protected]
| | | | +-- ํธ์คํธ๋ ์์ ์ ๋ณด@2.1.5
| | | | +-- [email protected]
| | | | | -- [email protected]
| | | |
-- [email protected]
| | | | +-- [email protected]
| | | | | -- [email protected]
| | | |
-- [email protected]
| | | +-- ๊ฐ์ฒด ํ ๋น@4.1.1
| | | +-- ์ฝ๊ธฐ[email protected]
| | | | +-- ์ฐพ๊ธฐ@1.1.2
| | | | -- [email protected]
| | | | +-- [email protected]
| | | | | +-- [email protected]
| | | | | |
-- [email protected]
| | | | | | -- [email protected]
| | | | | +-- [email protected]
| | | | |
-- ์คํธ๋ฆฝ ๋ด@2.0.0
| | | | | -- [email protected]
| | | |
-- ๊ฒฝ๋ก ์ ํ@1.1.0
| | | +-- [email protected]
| | | | +-- ๋ค์ฌ์ฐ๊ธฐ ๋ฌธ์์ด@2.1.0
| | | | | -- [email protected]
| | | | |
-- [email protected]
| | | | -- [email protected]
| | |
-- [email protected]
| | +-- ์งํ ์คํธ๋ฆผ@1.2.0
| | | +-- ์๋๊ณ@0.1.4
| | | -- [email protected]
| | | +-- [email protected]
| | | |
-- [email protected]
| | | -- [email protected]
| | |
-- ๊ฐ์ฒด ํค@0.4.0
| | +-- ์์ฒญ @2.79.0
| | | +-- [email protected]
| | | +-- [email protected]
| | | +-- [email protected]
| | | +-- ๊ฒฐํฉ ์คํธ๋ฆผ@1.0.5
| | | | -- [email protected]
| | | +-- [email protected]
| | | +-- [email protected]
| | | +-- [email protected]
| | | |
-- [email protected]
| | | +-- [email protected]
| | | | +-- ๋ถํ@1.1.3
| | | | | +-- [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]
| | | | | +-- [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]
| | | +-- [email protected]
| | | +-- ํ๋ ์ฟ ํค@2.3.2
| | | | -- [email protected]
| | | +-- [email protected]
| | |
-- [email protected]
| | +-- ํ ์ค ๋ก๊ทธ@1.1.2
| | | -- [email protected]
| | | +-- [email protected]
| | | +-- [email protected]
| | | |
-- [email protected]
| | | -- [email protected]
| | |
-- [email protected]
| | -- [email protected]
| +-- [email protected]
| |
-- ์๋ผ์๊ฐ๋ฝ ์ฝ์@2.0.1
| | -- [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]
-- [email protected]
-- [email protected]
`-- ๋ณด๋ฅ@1.2.0
[email protected] start /home/nikhil/workspace/electron_demo/electron-quick-start
์ ์ .
/home/nikhil/workspace/electron_demo/electron-quick-start/node_modules/electron/index.js:9
throw new Error('Electron์ด ์ฌ๋ฐ๋ฅด๊ฒ ์ค์นํ์ง ๋ชปํ์ต๋๋ค. node_modules/' + path.basename(__dirname) + '๋ฅผ ์ญ์ ํ๊ณ ๋ค์ ์ค์นํด ๋ณด์ธ์.')
^^
์ค๋ฅ: Electron์ด ์ฌ๋ฐ๋ฅด๊ฒ ์ค์น๋์ง ์์์ต๋๋ค. node_modules/electron์ ์ญ์ ํ๊ณ ๋ค์ ์ค์นํด ๋ณด์ญ์์ค.
๊ฐ์ฒด์์.
Module._compile์์ (module.js:410:26)
Object.Module._extensions..js์์ (module.js:417:10)
Module.load์์ (module.js:344:32)
Function.Module._load์์ (module.js:301:12)
Module.require์์ (module.js:354:17)
ํ์ ์(internal/module.js:12:17)
๊ฐ์ฒด์์.
Module._compile์์ (module.js:410:26)
Object.Module._extensions..js์์ (module.js:417:10)
npm ์ค๋ฅ! Linux 4.4.0-59-์ผ๋ฐ
npm ์ค๋ฅ! argv "/usr/bin/nodejs" "/usr/bin/npm" "์์"
npm ์ค๋ฅ! ๋
ธ๋ v4.2.6
npm ์ค๋ฅ! npm v3.5.2
npm ์ค๋ฅ! ์ฝ๋ ELIFECYCLE
npm ์ค๋ฅ! ์ ์-๋น ๋ฅธ ์์ electron .
npm ์ค๋ฅ! ์ข
๋ฃ ์ํ 1
npm ์ค๋ฅ!
npm ์ค๋ฅ! [email protected] ์์ ์คํฌ๋ฆฝํธ 'electron .'์์ ์คํจํ์ต๋๋ค.
npm ์ค๋ฅ! ์ต์ ๋ฒ์ ์ node.js ๋ฐ npm์ด ์ค์น๋์ด ์๋์ง ํ์ธํ์ญ์์ค.
npm ์ค๋ฅ! ๊ทธ๋ ๋ค๋ฉด ์ด๊ฒ์ ์ ์ ํต ์คํํธ ํจํค์ง์ ๋ฌธ์ ์ผ ๊ฐ๋ฅ์ฑ์ด ๊ฐ์ฅ ๋์ผ๋ฉฐ,
npm ์ค๋ฅ! npm ์์ฒด๊ฐ ์๋๋๋ค.
npm ์ค๋ฅ! ์์ฑ์์๊ฒ ์ด๊ฒ์ด ์์คํ
์์ ์คํจํ๋ค๊ณ ์๋ฆฝ๋๋ค.
npm ์ค๋ฅ! ์ ์ .
npm ์ค๋ฅ! ๋ค์์ ํตํด ์ด ํ๋ก์ ํธ์ ์ด์๋ฅผ ์ฌ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ ๋ณด๋ฅผ ์ป์ ์ ์์ต๋๋ค.
npm ์ค๋ฅ! npm ๋ฒ๊ทธ ์ ์ ๋น ๋ฅธ ์์
npm ์ค๋ฅ! ๋๋ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ ๋ค์์ ํตํด ์ ๋ณด๋ฅผ ์ป์ ์ ์์ต๋๋ค.
npm ์ค๋ฅ! npm ์์ ์ ls ์ ์ ๋น ๋ฅธ ์์
npm ์ค๋ฅ! ์์ ์ถ๊ฐ ๋ก๊น
์ถ๋ ฅ์ด ์์ ์ ์์ต๋๋ค.
npm ์ค๋ฅ! ์ง์ ์์ฒญ ์ ๋ค์ ํ์ผ์ ํฌํจํ์ญ์์ค.
npm ์ค๋ฅ! /home/nikhil/workspace/electron_demo/electron-quick-start/npm-debug.log
@MarshallOfSound ๋ ๋ค์์ ์ฌ์ฉํ์ฌ ๋ค์ด๋ก๋ ๋ฐ ์ค์น ํ๋ก์ธ์ค๋ฅผ ๊ด์ฐฐํ์ฌ ์ด ๋ฌธ์ ๋ฅผ ์์ ํ๋ ๋ฐ ๋์์ ์ฃผ์์ต๋๋ค.
npm install electron -g --verbose
์ด ๋ช ๋ น์ ์ฌ์ฉํ์ฌ ์ ์ญ Electron์ ์ค์นํฉ๋๋ค. ๋ค์ด๋ก๋ ํ๋ก์ธ์ค๊ฐ ์๋ฃ๋ ๋๊น์ง ์ทจ์ํ ์ ์์ต๋๋ค. node_modules ํด๋๋ฅผ ์ญ์ ํ๊ณ ๋ค์ ์ค์นํ์ญ์์ค.
@LizanLycan
๋น์ ์ ์๋ฃจ์
์ ์ ์ธ๊ณ์ ์ผ๋ก ๊ทธ๋ฆฌ๊ณ ์ง์ญ์ ์ผ๋ก ์ ์๋ฅผ ์ค์นํ๋ ๊ฒ์ด์์ต๋๊น? ์๋๋ฉด ํ๋ ๋๋ ๋ค๋ฅธ ํ๋?
๋์์ฃผ์ธ์... ๋ค ํด๋ดค๋๋ฐ...
๋ชจ๋ ๋๋ ํ ๋ฆฌ์๋ install.js๊ฐ ํฌํจ๋์ด ์์ผ๋ฉฐ ์คํ ๋ฐ ์ค์นํ๋ฉด path.txt๊ฐ ์์ฑ๋ฉ๋๋ค. ํจ๊ณผ๊ฐ์๋ค
๋๋ ๋ด ๋ฌธ์ ๋ฅผ ์์ ๋์ต๋๋ค. ๋ด Angular 2 ๊ตฌ์ฑ ์์์ JavaScript ์ค๋ฅ๊ฐ ์์ต๋๋ค. ์ด๋ค ์ด์ ๋ก JavaScript์ ์ค๋ฅ๊ฐ ์์ผ๋ฉด ์ด ์ ์๊ฐ ์๋ชป ์ค์น๋์๋ค๋ ์ค๋ฅ๊ฐ ํ์๋ฉ๋๋ค.
๋๋ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์๋ค. electorn ์ด๋ผ๋ ์ด๋ฆ์ผ๋ก ์์ํ๋ ๋ชจ๋ ํด๋(์ฝ 5๊ฐ ์์)๋ฅผ ์ ๊ฑฐํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ณ verbose ํ๋๊ทธ์ ํจ๊ป npm install์ ์คํํ์ต๋๋ค. npm i --verbose
. ๊ทธ๋ฐ ๋ค์ ์ ์ ๋ฐ์ด๋๋ฆฌ ๋ค์ด๋ก๋ ๋ฐ ๋ค์ด๋ก๋์ ๋ํ ์งํ๋ฅ ํ์์ค์ ํ์ํ์ต๋๋ค. ๋๋ถ๋ถ ์ธํฐ๋ท ์ฐ๊ฒฐ์ด ์ข์ง ์๊ธฐ ๋๋ฌธ์
๋๋ค. ์, ์ ๋ 150kbps์ ์ฐ๊ฒฐ์ ์์์ต๋๋ค.
@LizanLycan + @manojvignesh - ๋ฉ์ง ์ ์์
๋๋ค!
--verbose
๋ฅผ ์ฌ์ฉํ๋ฉด node_modules ์ค์น ์ค์ ์ ์ ๋ชจ๋ ๋ค์ด๋ก๋๋ฅผ ๋ฐฉํดํ๋ ๊ฒฝ์ฐ ํจ์ฌ ๋ ๋ช
ํํด์ง๋๋ค.
์ค๋ฅ: Electron์ด ์ฌ๋ฐ๋ฅด๊ฒ ์ค์น๋์ง ์์์ต๋๋ค. node_modules/electron์ ์ญ์ ํ๊ณ ๋ค์ ์ค์นํด ๋ณด์ญ์์ค.
์ค๋ฅ: Electron์ด ์ฌ๋ฐ๋ฅด๊ฒ ์ค์น๋์ง ์์์ต๋๋ค. node_modules/electron์ ์ญ์ ํ๊ณ ๋ค์ ์ค์นํด ๋ณด์ญ์์ค.
์ค๋ฅ: Electron์ด ์ฌ๋ฐ๋ฅด๊ฒ ์ค์น๋์ง ์์์ต๋๋ค. node_modules/electron์ ์ญ์ ํ๊ณ ๋ค์ ์ค์นํด ๋ณด์ญ์์ค.
@ijry --vebose
๋ฌธ์ฅ์ผ๋ก ์ค์น๋ฅผ ์๋ํ์
จ์ต๋๊น?
์ค๋ฅ: Electron์ด ์ฌ๋ฐ๋ฅด๊ฒ ์ค์น๋์ง ์์์ต๋๋ค. node_modules/electron์ ์ญ์ ํ๊ณ ๋ค์ ์ค์นํด ๋ณด์ญ์์ค.
์ ์ฉํ์ง ์์, ๋๋ ๊ตฌ๊ธ๊ณผ ๊ตฌ๊ธ์ ์๋ํ์ง๋ง ์๋ํ์ง ์์๋ค.................................
์ด๊ฒ์ ๋ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค.
https://stackoverflow.com/questions/42636151/electron-failed-to-install-correctly-Please-delete-node-modules-and-try-instal
npm install electron-prebuilt --save-dev
๋์ผํ ํ๋ก์ ํธ์ ๋ฏธ๋ฆฌ ๋น๋๋ ์ ์ ๋ฒ์ ์ด ์ค์น๋์ด ์์ด์ผ ํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
cnpm install ์ ์ -g --verbose
@MarshallOfSound ๋๋ถ์ ์ ์๋ํฉ๋๋ค :)
@nikparmar ๋์ผํ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ผ๋ฉฐ LINUX๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. sudo npm install electron --verbose
๊ธฐ๋ณธ ๋ฌธ์ ๋ฅผ ๋๋ฒ๊ทธํ๊ธฐ์ npm์ ๋ํด ์ถฉ๋ถํ ์ดํดํ์ง ๋ชปํ์ง๋ง Electron API ๋ฐ๋ชจ ์ฑ์ด "postinstall": "node install.js"
์์
์ ์ฑ๊ณต์ ์ผ๋ก ์คํํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ด ์ฌํ ์ค์น ์์
์ npm install --verbose
๋ฅผ ์คํํ ๋ ๋์ด๋์ง๋ง ์คํ๋์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ค์น ํ ์๋์ผ๋ก node node_modules/electron/install.js
์คํํด์ผ ํฉ๋๋ค.
target: 'electron-renderer'
webpack.config.js๋ ์ด๊ฒ์ ์ฌ์ฉํฉ๋๋ค.
์๋ sudo npm install --unsafe-perm=true --allow-root
๊ธ๋ก๋ฒ npm ํจํค์ง๊ฐ ์ค์น๋ ๋๋ ํ ๋ฆฌ๊ฐ ์๋ค๋ ๋ฉ์์ง๋ฅผ ํ์ธํ์ญ์์ค. ๊ทํ์ ๊ฒฝ์ฐ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
*PATH\electron-quick-start\node_modules*
๋ฐ๋ผ์ ํด๋น ๋๋ ํ ๋ฆฌ๋ก ์ด๋ํ์ฌ ์ ๋์ฌ ์ ์๋ผ๋ ์ด๋ฆ์ ๋ชจ๋ ๋๋ ํ ๋ฆฌ๋ฅผ ์ญ์ ํ์ญ์์ค.
์ด์ ์คํ
npm install -g ๋ฐ์ ๊ฐ๋ฐ ๋๊ตฌ
๊ทธ ํ ๋กค ์ค๋น๊ฐ๋์์ต๋๋ค.
๊ฐ๋ฐ ๋๊ตฌ๋ฅผ ์์ํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ ์์ฑํ์ญ์์ค.
๋ฐ์ ๊ฐ๋ฐ ๋๊ตฌ
์๋ sudo npm install --unsafe-perm=true --allow-root
๊ทธ๊ฒ์ ๋๋ฅผ ์ํด ์๋ํฉ๋๋ค
๋ฐ๋ผ์ npm start
๋ ์ค๋ฅ ์์ด ์ ์๋ํ์ต๋๋ค.
์ ์ ๋น๋๋ฅผ ์ค์นํ๊ณ ๋ฐฐํฌํ์ ๋น๋ํ๊ธฐ ์ํ ์ package.json ํ์ผ์ ๋ง๋ค์์ต๋๋ค.
npm run dist
ํ๋ฉด exe ์ค์น ํ๋ก๊ทธ๋จ์ด ์ฑ๊ณต์ ์ผ๋ก ์์ฑ๋๊ณ ์ฑ์ ์คํํ๊ณ ์ค์นํ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ package.json ํ์ผ์ ์๋ ํ์ผ๋ก ๋ค์ ๋ฐ๊พธ๊ณ npm start
๋ค์ ์๋ํ๋ฉด ์ ์๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ค์น๋์ง ์์๋ค๋ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
์ค๋ฅ์ ์์ธ์ด ๋ฌด์์ธ์ง ํ์คํ์ง ์์ง๋ง ๋ค์ ์๋ฃจ์ ์ด ์ ์๊ฒ ํจ๊ณผ์ ์ด์์ต๋๋ค.
node_modules/
๋๋ ํ ๋ฆฌ๋ก ์ด๋ํ์ฌ electron
๋๋ ํ ๋ฆฌ๋ฅผ ์ญ์ ํฉ๋๋ค.
๊ทธ๋ฐ ๋ค์ npm install electron --save-dev
์ด์ npm start
๋ฐ npm run dist
์ค๋ฅ ์์ด ์ ์๋ํฉ๋๋ค.
์ด ์๋ฃจ์ ์ https://stackoverflow.com/questions/42636151/electron-failed-to-install-correctly-Please-delete-node-modules-and-try-instal ์์ ์ฐพ์์ต๋๋ค.
๋๋ package.json์ ๋ณ๊ฒฝํ๋ค.
~์์
"electron": "^4.0.1",
์๊ฒ
"electron": "^4.1.1",
"electron-packager": "^13.1.1",
"electron-tabs": "^0.9.5",
๊ทธ๋ฐ ๋ค์ npm ์ค์น
ํจ๊ณผ๊ฐ์๋ค. ์ฐฝ์ด ๋ํ๋ฉ๋๋ค. ๊ทผ๋ฐ ์ด์ ๋ฅผ ๋ชจ๋ฅด๊ฒ ์ด...
electron-quick-start
์ npm install
ํ๊ณ npm start
๋ก ์คํํ๋ฉด ์๋ฌด ์ผ๋ ์ผ์ด๋์ง ์์ต๋๋ค... ์ ๋ macOS Catalina๊ฐ ์ค์น๋ MacBook Pro๋ฅผ ์ฌ์ฉ ์ค์
๋๋ค... ๋ชจ๋ ์ ์ ์ฑ์ด ์๋์ ๋ฉ์ท์ต๋๋ค. ๋... ์ ์ญ์ ์ผ๋ก ์ค์น๋ ์ ์๋ฅผ ์ญ์ ํ๊ณ ๋ค์ ์ค์นํ๊ณ node_modules๋ฅผ ์ญ์ ํ๊ณ ๋ค์ ์ด๊ธฐํํ๊ธฐ ์ํด ํ
์คํธํ์ต๋๋ค... npm ์บ์๋ ์ ๊ฑฐํ์ต๋๋ค... ๊ทธ๋์ ๋ ์ด์ ๋ฌด์์ ํด์ผ ํ ์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค...
electron .
๋ฅผ ์๋์ผ๋ก ์คํํ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
/usr/local/lib/node_modules/electron/index.js:14
throw new Error('Electron failed to install correctly, please delete node_modules/electron and try installing again')
^
Error: Electron failed to install correctly, please delete node_modules/electron and try installing again
at getElectronPath (/usr/local/lib/node_modules/electron/index.js:14:11)
at Object.<anonymous> (/usr/local/lib/node_modules/electron/index.js:18:18)
at Module._compile (internal/modules/cjs/loader.js:774:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:785:10)
at Module.load (internal/modules/cjs/loader.js:641:32)
at Function.Module._load (internal/modules/cjs/loader.js:556:12)
at Module.require (internal/modules/cjs/loader.js:681:19)
at require (internal/modules/cjs/helpers.js:16:16)
at Object.<anonymous> (/usr/local/lib/node_modules/electron/cli.js:3:16)
at Module._compile (internal/modules/cjs/loader.js:774:30
ํ ...
์ด๊ฒ์ ๋ด๊ฐ ์ป์ ๊ฒ์
๋๋ค :
$ npm start --verbose
npm info it worked if it ends with ok
npm verb cli [ '/usr/local/bin/node', '/usr/local/bin/npm', 'start', '--verbose' ]
npm info using [email protected]
npm info using [email protected]
npm verb run-script [ 'prestart', 'start', 'poststart' ]
npm info lifecycle [email protected]~prestart: [email protected]
npm info lifecycle [email protected]~start: [email protected]
npm info lifecycle [email protected]~start: ignored because ignore-scripts is set to true [email protected]
npm info lifecycle [email protected]~poststart: [email protected]
npm verb exit [ 0, true ]
npm timing npm Completed in 91ms
npm info ok
๊ทธ๋์ npm config set ignore-scripts false
๋ช
๋ น์ ์ฌ์ฉํ์ฌ ์คํฌ๋ฆฝํธ ๋ฌด์๋ฅผ ๊ป์ต๋๋ค. ์ด์ ์ด๊ฒ์ด ๋ฐ๋ก... ELIFECYCLE ์ค๋ฅ์
๋๋ค.
$ npm start
> [email protected] start /Users/.../Documents/Javascript/electron-quick-start
> electron .
/Users/.../Documents/Javascript/electron-quick-start/node_modules/electron/index.js:14
throw new Error('Electron failed to install correctly, please delete node_modules/electron and try installing again')
^
Error: Electron failed to install correctly, please delete node_modules/electron and try installing again
at getElectronPath (/Users/.../Documents/Javascript/electron-quick-start/node_modules/electron/index.js:14:11)
at Object.<anonymous> (/Users/.../Documents/Javascript/electron-quick-start/node_modules/electron/index.js:18:18)
at Module._compile (internal/modules/cjs/loader.js:774:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:785:10)
at Module.load (internal/modules/cjs/loader.js:641:32)
at Function.Module._load (internal/modules/cjs/loader.js:556:12)
at Module.require (internal/modules/cjs/loader.js:681:19)
at require (internal/modules/cjs/helpers.js:16:16)
at Object.<anonymous> (/Users/.../Documents/Javascript/electron-quick-start/node_modules/electron/cli.js:3:16)
at Module._compile (internal/modules/cjs/loader.js:774:30)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] start: `electron .`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/.../.npm/_logs/2019-11-29T16_52_39_548Z-debug.log
ํ ... ๋ฌด์จ ์ผ์ด์ผ? ์ค ์ ์ฌ์ฉํ๋ฉด ์๋ํฉ๋๋ค ...
https://github.com/electron/electron-quick-start/issues/155#issuecomment -343283182
yarn run start
๊ธฐ๋ค๋ฆฌ๊ณ ์์์ง๋ง ์ค์น ํ๋ก๊ทธ๋จ์ ์ฐพ์ง ๋ชปํ ๊ฒ ๊ฐ์ต๋๋ค.
F:\testelectron-quick-start>npm install electron --verbose
npm ์ ๋ณด๊ฐ ok๋ก ๋๋๋ฉด ์๋ํ์ต๋๋ค.
npm ๋์ฌ cli [ 'C:\Program Files\nodejs\node.exe',
npm ๋์ฌ cli 'C:\Users\Administrator\AppData\Roaming\npm\node_modules\npm\bin\npm-cli.js',
npm ๋์ฌ cli '์ค์น',
npm ๋์ฌ cli '์ ์',
npm ๋์ฌ cli '--verbose' ]
[email protected]์ ์ฌ์ฉํ๋ npm ์ ๋ณด
[email protected]์ ์ฌ์ฉํ๋ npm ์ ๋ณด
npm ๋์ฌ npm-session 5dd5cd74a42cab9c
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/electron 173ms(์บ์์์)
npm ํ์ด๋ฐ ๋จ๊ณ:loadCurrentTree ์๋ฃ 374ms
npm ํ์ด๋ฐ ๋จ๊ณ:loadIdealTree :cloneCurrentTree ์๋ฃ 2ms
npm ํ์ด๋ฐ ๋จ๊ณ:loadIdealTree :loadShrinkwrap ์๋ฃ 93ms
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/@electron%2fget 61ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/extract-zip 95ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/@types%2fnode 100ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/env-paths 66ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/fs-extra 73ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/debug 77ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/global-agent 96ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/got 106ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/global-tunnel-ng 118ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/sumchecker 277ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/sanitize-filename 465ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/ms 43ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/universalify 51ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/graceful-fs 59ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/jsonfile 62ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/matcher 66ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/core-js 72ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/es6-error 80ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/roarr 83ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/semver 90ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/boolean 97ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/serialize-error 109ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/escape-string-regexp 48ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/json-stringify-safe 69ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/detect-node 72ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/semver-compare 75ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/globalthis 79ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/sprintf-js 80ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/function-bind 46ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/object-keys 58ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/define-properties 63ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/type-fest 44ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/npm-conf 53ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/tunnel 55ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/lodash 70ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/encodeurl 97ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/config-chain 42ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/pify 52ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/proto-list 48ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/ini 53ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/@sindresorhus%2fis 75ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/decompress-response 90ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/@szmarczak%2fhttp-timer 95ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/duplexer3 98ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/cacheable-request 100ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/to-readable-stream 100ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/lowercase-keys 104ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/get-stream 110ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/mimic-response 146ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/url-parse-lax 73ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/p-cancelable 982ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/defer-to-connect 44ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/clone-response 60ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/responselike 67ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/keyv 72ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/http-cache-semantics 77ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/normalize-url 81ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/pump 64ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/end-of-stream 46ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/once 48ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/wrappy 52ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/json-buffer 46ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/prepend-http 51ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/truncate-utf8-bytes 133ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/utf8-byte-length 93ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/yauzl 47ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/mkdirp 59ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/concat-stream 725ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/buffer-from 52ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/typedarray 58ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/readable-stream 59ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/inherits 64ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/isarray 61ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/core-util-is 63ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/safe-buffer 64ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/process-nextick-args 67ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/string_decoder 73ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/util-deprecate 78ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/minimist 43ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/fd-slicer 49ms(์บ์์์)
npm http ๊ฐ์ ธ์ค๊ธฐ GET 304 http://registry.npm.taobao.org/pend 46ms(์บ์์์)
npm ํ์ด๋ฐ ๋จ๊ณ:loadIdealTree :loadAllDepsIntoIdealTree 3977ms์ ์๋ฃ๋จ
npm ํ์ด๋ฐ ๋จ๊ณ:loadIdealTree 4100ms์ ์๋ฃ๋จ
npm ํ์ด๋ฐ ๋จ๊ณ:generateActionsToTake 13ms ๋ด์ ์๋ฃ๋จ
npm ๋์ฌ correctMkdir C:\Users\Administrator\AppData\Roamingnpm-cache_locks correctMkdir์ด ๋นํ ์ค์ด ์๋๋๋ค. ์ด๊ธฐํ
npm ๋์ฌ makeCacheDir UID ๋ฐ GID๋ win32์ ๊ด๋ จ์ด ์์ต๋๋ค.
F:\testelectron-quick-start\node_modules.staging์ ๋ํด C:\Users\Administrator\AppData\Roamingnpm-cache_locksstaging-7ab5b6ace88370a8.lock์ ์ฌ์ฉํ๋ npm ๋์ฌ ์ ๊ธ
npm ํ์ด๋ฐ ์์
:์ถ์ถ ์๋ฃ 27ms
npm ์ ๋ณด ์๋ช
์ฃผ๊ธฐ [email protected] ~preuninstall: [email protected]
npm ์ ๋ณด ์๋ช
์ฃผ๊ธฐ [email protected] ~์ ๊ฑฐ: [email protected]
npm ๋์ฌ unbuild rmStuff [email protected] from F:\testelectron-quick-start\node_modules
npm ์ ๋ณด ์๋ช
์ฃผ๊ธฐ [email protected] ~postuninstall: [email protected]
npm timing action:unbuild 16ms
npm ํ์ด๋ฐ ์์
: 7ms ๋ด์
npm timing action:finalize 2ms ์์ ์๋ฃ๋จ
npm ํ์ด๋ฐ ์์
:refresh-package-json 28ms ๋ด์ ์๋ฃ๋จ
npm ์ ๋ณด ์๋ช
์ฃผ๊ธฐ [email protected] ~์ฌ์ ์ค์น: [email protected]
npm ํ์ด๋ฐ ์์
:์ฌ์ ์ค์น 1ms ๋ด์ ์๋ฃ๋จ
npm ์ ๋ณด linkStuff [email protected]
npm ๋์ฌ linkBins [ { ์ ์: 'cli.js' },
npm ๋์ฌ linkBins 'F:\test\electron-quick-start\node_modules\.bin',
npm ๋์ฌ linkBins false ]
npm http ๊ฐ์ ธ์ค๊ธฐ POST 404 http://registry.npm.taobao.org/-/npm/v1/security/audits/quick 108ms
npm ํ์ด๋ฐ ์์
: 18ms ๋ด์
npm ์ ๋ณด ์๋ช
์ฃผ๊ธฐ [email protected] ~install: [email protected]
npm ํ์ด๋ฐ ์์
: 2ms ๋ด์
npm ์ ๋ณด ์๋ช
์ฃผ๊ธฐ [email protected] ~postinstall: [email protected]
[email protected] ์ค์น ํ F:\testelectron-quick-start\node_moduleselectron
๋ ธ๋ install.js
์ค๊ตญ ์ง์ญ์์ ๋ฐฉ๋ฒ์ ์ฐพ์์ต๋๋ค.
1๋จ๊ณ. npm ์ ์ ์ค์น
2๋จ๊ณ. https://github.com/electron/electron/releases/download/v7.1.7/electron-v7.1.7-darwin-x64.zip ์์ ์ ์ zip์ ๋ค์ด๋ก๋ํฉ๋๋ค.
3๋จ๊ณ. zip์ /electron/dist์ ๋ณต์ฌํฉ๋๋ค.
4๋จ๊ณ. vi ./node_modules/electron/path.txt ๋ฐ ์
๋ ฅ /electron-v7.1.7-darwin-x64/Electron.app/Contents/MacOS/Electron
๋ง์ง๋ง์ผ๋ก npm start๋ฅผ ์คํํ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ์ ์๋ฅผ ์์ํ๋ ์ข์ ๋ฐฉ๋ฒ์ ์๋๋๋ค.
์๋ ํด๋ด. ๐ค
https://github.com/pangxieju/electron-fix
๋๋ถ๋ถ์ ์ง์นจ์ ๋ฐ๋ฅด๋ ค๊ณ ํ์ง๋ง ๋ชจ๋ ๊ฒ์ด ์ฌ๋ฐ๋ฅด๊ฒ ์ค์น๋์์ง๋ง ์ฌ์ ํ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค.
์ค๊ตญ์ธ์ด๋ผ๋ฉด ๋ค์ ์ง์นจ์ด ์ ์ฉํ ์ ์์ต๋๋ค.
ํฌ๋กฌ์ ์ด๊ณ URL https://github.com/electron/electron/releases/download/v7.1.7/electron-v7.1.7-darwin-x64.zip
๋ถ์ฌ๋ฃ์ผ์ญ์์ค . ๋ฒ์ ์ ์ฌ๋ฐ๋ฅธ ๋ฒ์ ์ผ๋ก ๋ณ๊ฒฝํด์ผ ํ๋ฉฐ Windows์ธ ๊ฒฝ์ฐ macOS๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์ด URL์ ๋๋ฒ๊ทธ install.js๋ฅผ ์๋ํ์ฌ ์ฌ๋ฐ๋ฅธ URL์ ๊ฐ์ ธ์ต๋๋ค.
Desktop
์ ๊ฐ์ ํด๋์ zip์ ์ ์ฅํฉ๋๋ค. ์ด์ zip ํ์ผ ๊ฒฝ๋ก๋ /Users/yourname/Desktop/electron-v7.1.7-darwin-x64.zip
์
๋๋ค. ๋ฒ์ ์ ํ์ธํ์ธ์ .
์ด๊ณ node_modules/electron/install.js
๋ค์ ์ฝ๋๋ฅผ ์ฃผ์ ์ฒ๋ฆฌํ๊ณ ์ ์ค์ ์ถ๊ฐํฉ๋๋ค.
extractFile(myPath in the second step)
// downloads if not cached
// downloadArtifact({
// version,
// artifactName: 'electron',
// force: process.env.force_no_cache === 'true',
// cacheRoot: process.env.electron_config_cache,
// platform: process.env.npm_config_platform || process.platform,
// arch: process.env.npm_config_arch || process.arch
// }).then((zipPath) => extractFile(zipPath)).catch((err) => onerror(err))
// Node: the new line
extractFile(myPath in the second step)
node install.js
npm start
๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ Taobao ๋ฏธ๋ฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์
๋๋ค.
๋ฃจํธ ๋๋ ํ ๋ฆฌ์ ์๋ก์ด .npmrc
ํ์ผ ์์ฑ, ํ์ผ ๋ด์ฉ
electron-mirror=https://npm.taobao.org/mirrors/electron/
electron-custom-dir=8.0.2
// ไธ้ข่ฟไธชๆฏๆ่ชๅทฑ็จๅฐ็.. ไธ้ขไธคไธชๆฏ้ๅฏนelectron็
node-sqlite3_binary_host_mirror=https://npm.taobao.org/mirrors/
๊ทํ์ ํ์์ ๋ฐ๋ผ ๋ฒ์
๋ค์์ ์ฌ์ฉํ์ฌ raspberry Pi4์์ ํด๊ฒฐ:
npm i -D electron --arch=armv7l
์นํฉ์ ์ฌ์ฉํ์ฌ ํ๋ก์ ํธ๋ฅผ ๋น๋ํ๋ ๊ฒฝ์ฐ ์นํฉ ๊ตฌ์ฑ์ ์ธ๋ถ์ ์ ์๋ฅผ ์ถ๊ฐํด์ผ ํฉ๋๋ค.
์ ์๋ฅผ ์ค์นํ ํ Mac์์ ๋ค์์ ์๋ํ์ญ์์ค.
sudo node /node_modules/electron/install.js
* sudo ํ์
@์ ์คํธ๊ธฑ ,
์ด๊ฒ์ ๋ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค.
https://stackoverflow.com/questions/42636151/electron-failed-to-install-correctly-Please-delete-node-modules-and-try-instal
npm install electron-prebuilt --save-dev
๋์ผํ ํ๋ก์ ํธ์ ๋ฏธ๋ฆฌ ๋น๋๋ ์ ์ ๋ฒ์ ์ด ์ค์น๋์ด ์์ด์ผ ํ๋ ๊ฒ ๊ฐ์ต๋๋ค.
๊ทํ์ ์ ์์ผ๋ก ๋ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค. ํ์ง๋ง Electron@latest ์ [email protected]์ ๋ชจ๋ ์ค์นํด์ผ ํ๋์?
๊ฐ์ธ์ ์ผ๋ก, ๋๋ ์ฌ๊ธฐ์์ ๋ชจ๋ ์ ์์ ์๋ํ๊ณ ์๋ฌด ๊ฒ๋ ์ด ๋ฌธ์ ๋ฅผ ๊ทน๋ณตํ์ง ๋ชปํ๋ ๊ฒ ๊ฐ์์ต๋๋ค. ๋๋ Mac์ ์ฌ์ฉํ๊ณ ์์ผ๋ฉฐ ๋ด ์ชฝ์์ ํ๋ก์ ๋ฌธ์ ๊ฐ ๋ ์ ์์ต๋๋ค.
Windows์์ ๋๋ ์ฒ์์ผ๋ก ์ ์๋ฅผ ์๋ํ๊ณ ๊ณต์ ๋ฌธ์๋ฅผ ์ดํด๋ณด๊ณ ๋์ผํ ์ค๋ฅ๋ก ์ธํด ๋น ๋ฅธ ์์ ์ฑ์ ์คํํ ์ ์์๊ณ ๋ง์ ์์ ์ ์๋ํ์ง๋ง ์๋ฌด ๊ฒ๋ ์๋ํ์ง ์์์ต๋๋ค. ์ ๊ณต๋ .zip์ ์๋์ผ๋ก ๋ณต์ฌํ์ฌ ๋ถ์ฌ๋ฃ์ต๋๋ค. (
Node install.js๊ฐ ๊ถํ์ผ๋ก ์ธํด ์คํจํ์ฌ ๋ค์์ด ๋ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ต๋๋ค.
sudo npm install electron --unsafe-perm=true --allow-root
๋ฏธ๋ฆฌ ๋น๋๋ ๋ฐ์ด๋๋ฆฌ ๋๋ ์ด์ ๋ฒ์ ์ ์ ์๋ฅผ ๋ค์ด๋ก๋ํ ํ์๊ฐ ์์ต๋๋ค.
์๋ ํด๋ด. ๐ค
https://github.com/pangxieju/electron-fix
๊ฐ์ฌ! ๊ทธ๊ฒ์ ๋ด ํ๋ก์ ํธ๋ฅผ ์๋ํ๊ฒ ๋ง๋ค์์ต๋๋ค!
์๋ ํด๋ด. ๐ค https://github.com/pangxieju/electron-fix ์ด๊ธฐ
1ใ$ npm ์ ์ ์์ ์ค์น -D
2ใ'package.json' ํ์ผ ์์
"์คํฌ๋ฆฝํธ": {
"์์ ": "์ ์ ์์ ์์"
}
3ใnpm ์คํ ์์
ํ์ฝฉ์์ ๋ค์ด๋ก๋ํ์ง ์๊ณ ์ฌ์ ํ ๋ฌธ์ ๋ฅผ ํ์ ํ์ง ๋ชปํ ์ฌ๋๋ค์ ์ํด ๋ง์นจ๋ด ์ด ๊ธด ์ฌ์ฌ์์ ๋๊ธ ์ค ํ๋๋ฅผ ๋ฐ๊ฒฌํ์ต๋๋ค.
npm i electron -g --verbose
์คํํ์ ๋ ๋ค์ ํ์ ๋ฐ๊ฒฌํ์ต๋๋ค.
npm info lifecycle [email protected]~postinstall: ignored because ignore-scripts is set to true [email protected]
๋ค์์ ์ํํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์์ต๋๋ค.
๊ธฐ๋ณธ ๋ฌธ์ ๋ฅผ ๋๋ฒ๊ทธํ๊ธฐ์ npm์ ๋ํด ์ถฉ๋ถํ ์ดํดํ์ง ๋ชปํ์ง๋ง Electron API ๋ฐ๋ชจ ์ฑ์ด
"postinstall": "node install.js"
์์ ์ ์ฑ๊ณต์ ์ผ๋ก ์คํํ์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ด ์ฌํ ์ค์น ์์ ์npm install --verbose
๋ฅผ ์คํํ ๋ ๋์ด๋์ง๋ง ์คํ๋์ง ์๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ค์น ํ ์๋์ผ๋กnode node_modules/electron/install.js
์คํํด์ผ ํฉ๋๋ค.
์ ์ญ์ ์ผ๋ก ์ค์นํ๊ธฐ ๋๋ฌธ์ ์ ์ญ ์ค์น ๋๋ ํ ๋ฆฌ ./AppData/Roaming/npm/
์๋ install.js๋ฅผ ์ฌ์ฉํ์ต๋๋ค.
์ผ๋ถ ๋คํธ์ํฌ ๋ฌธ์ ๊ฐ ์๋ ๊ฒ ๊ฐ์ต๋๋ค(์ด๋ ์ ํฌ๊ฐ ํต์ ํ ์ ์๋ ๋ฌธ์ ์ ๋๋ค ๐ข ).
์ฌ๊ธฐ ์์ ๋ธ๋ผ์ฐ์ ์์ ZIP ํ์ผ์ ์๋์ผ๋ก ๋ค์ด๋ก๋ํ์ฌ
C:\Users\<username>\.electron
ํด๋์ ์ ์ฅํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ฉด ์์ฒด์ ์ผ๋ก ๋ค์ด๋ก๋ํ ํ์๊ฐ ์์ต๋๋ค ๐
๋คํธ์ํฌ ๋ฌธ์ ๋ ์์์ง๋ง npm install์ ์ฒ์ ์คํํ ๋ ์ ์ ์ค์น ์ค๋ฅ๋ก ์ธํด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. C:\Users\์ .electron-gyp ํด๋๋ฅผ ๋ฐฉ๊ธ ์ญ์ ํ์ต๋๋ค.
๋ชจ๋ ๋๋ ํ ๋ฆฌ์๋ install.js๊ฐ ํฌํจ๋์ด ์์ผ๋ฉฐ ์คํ ๋ฐ ์ค์นํ๋ฉด path.txt๊ฐ ์์ฑ๋ฉ๋๋ค. ํจ๊ณผ๊ฐ์๋ค
์ด ๋จ๊ณ์ ์ธ๋ถ ์ฌํญ์ ๋ฌด์์ ๋๊น
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๋ ธ๋ ฅํ๋ค
๋ค์ด๋ก๋ ์งํ๋ฅ ํ์์ค์ ์ถ๋ ฅํด์ผ ํฉ๋๋ค ๐