๐ ๊ฐ๋ฐ์๊ฐ ๋ง์ ธ ๋ณธ ์คํ๋ฑ? VSCODE ํฐ๋ฏธ๋ command not found ๋ฌธ์
๋ค๋ฅธ ์ ๋ฌด ๋๋ฌธ์ ์ต๊ทผ gulp ๋ฅผ ์ธ์ผ์ด ์์ด์ ๋งค์ผ๊ฐ์ด ํด๋ํ๋ ์คํ๋ฑ์ ๊ฐ๋ณ๊ฒ nodejs์ npm์ ์ค์นํด๋ณด์์ต๋๋ค.
์ ๋ฐ์ดํธ ์ ๊ณ ํต๋ฐ์ ์๋ ์๋ ๊ตฌ์กฐ์ง๋ง ์ด์จ๋ ๋งค์ผ ํด๋ํ๋ ๊ฐ์ธ์ฉ ๋ ธํธ๋ถ์ผ๋ก๋ ์คํ๋ฑ๋งํ๊ฒ ์๋ ์ํฉ์ ๋๋ค.
ํ ์คํธ๋ฅผ ์ํด Konsole์์ ํ์ํ ํจํค์ง๋ค์ ์ค์นํ๊ณ gulp๊น์ง ๋์ด ๊ฒ์ ํ์ธํ๋๋ฐ ์ด์ํ๊ฒ๋ Konsole ๊ณผ๋ ๋ฌ๋ฆฌ VSCODE์์๋ npm ๋ช ๋ น์ด๊ฐ ๋จน์ง ์์์ต๋๋ค.
"terminal.integrated.profiles.linux": {
"bash": {
"path": "/bin/bash",
"icon": "terminal-bash",
"args": [
"-i"
]
}
},
"terminal.integrated.defaultProfile.linux": "bash",
"terminal.integrated.shellIntegration.enabled": true,
ArchLinux๊ฐ ์ต์ํ์ง ์์ ์ฒ์์๋ ์ค์ ์ ๋ฌธ์ ์ธ๊ฐ... ํ๊ณ ํํ๊ฒ ์ฐพ์ ์ ์๋ ํด๊ฒฐ๋ฐฉ๋ฒ์ ๋ฐ๋ผ๊ฐ ๋ณด์์ต๋๋ค.
๊ธฐ๋ณธ ํฐ๋ฏธ๋ ์ค์ ์ bash๋ฅผ ๋ฐ๋ผ๋ณด๋๋ก ์์ ํ๋ ๊ฒ์ด์๋๋ฐ ์ญ์๋ ํจ๊ณผ๋ ์์์ต๋๋ค.
bash: npm: command not found
bash๋ฅผ ์ฐ๋๋ผ๋ ๋ง์ฐฌ๊ฐ์ง๋ก ๋์ผํ ์ฐพ์ ์ ์๋ค๋ ์๋ฌ๊ฐ ๋ํ๋ฉ๋๋ค.
์์ธ์ ์ ํํ ๋ชจ๋ฅด๊ฒ ์ผ๋ ์ฌ์ฉ์ ํ๋กํํ๊ณ ๊ฒฉ๋ฆฌ๋ ํ๊ฒฝ์์ ๋๋๊ฒ ์๋ ๊ฐ์ ์ ์ ์ธ๋ฐ ์์์ ๋ช ๋ น์ด๊ฐ ๊ตฌ๋์ด ์๋๋ค๋ ๊ฒ์ด ๋๋ฌด ์ด์ํ์ต๋๋ค.
๋ง์ฝ .bashrc๋ฅผ ๋ชป๋ณธ๋ค ์น๋๋ผ๋ ๊ธ๋ก๋ฒ๋ก ์ค์นํ npm ๋ช ๋ น์ด๊ฐ ๋จนํ์ง ์๋๊ฒ์ ๋๋ฌด ์ดํดํ ์ ์์์ต๋๋ค.
.bashrc ์ธก์ ๋ฌด์ธ๊ฐ PATH๋ฅผ ๋๋ฝ์์ผฐ๋ ์๊ฐํ๊ธฐ๋ ์ด๋ ค์ด๊ฒ ์ด๋ฏธ Konsole์์๋ ๋ฌธ์ ์์ด ์๋์ ํ๊ณ ์์์ต๋๋ค.
๊ตฌ๊ธ๋ง์ ํด๊ฐ๋ฉฐ ์ ๋ณด๋ฅผ ์ฐพ์๋ณด๋ ์คํ์ค๋ฒํ๋ก์ฐ์๋ ๋ฏผ์์ ์์ ๊ฐ๊น์ด ๋ต๋ณ๋ค์ด ๋๋ฌดํ๊ณ ์์์ต๋๋ค.
PC๋ฅผ ๊ป๋ค๊ฐ ๋ค์ ์ผ๋ผ. ๋ผ๋๊ฐ.. nodejs๋ฅผ ์ง์ฐ๊ณ ๋ค์ ์ค์นํด๋ผ. nvm์ผ๋ก ์ค์น๋ฅผ ํด๋ด๋ผ ๋ฑ๋ฑ ๋พฐ์กฑํ ๋ฐฉ๋ฒ์ ๋ชป์ฐพ๊ณ ํค๋ฉ๋ ์ฐจ์์ต๋๋ค.
์ผ๋จ ๋น์ฅ์ ํธ์คํธ์ ํฐ๋ฏธ๋์์๋ ์ ๋์ํ๋ ๋ถํธํ์ง๋ง ํธ์คํธ ํฐ๋ฏธ๋๋ง ๋์์ ์ธ๊น๋ ์ ์ ๊ณ ๋ฏผํ์ผ๋..
๊ทธ๋๋ ์์ธ์ ์ฐพ์๋ด์ผ๊ฒ ๋ค ์ถ์ด ArchLinux, VSCODE๋ก ํค์๋๋ฅผ ์ก๊ณ ์ฐพ์๋ด ๋๋ค.
๊ฒ์์ ํ๋ค๋ณด๋ ๋๋์ด ์๋ฏธ์๋ FlatPaks์ ๊ตฌ์กฐ์ ๋ํด ์๊ฒ๋ฉ๋๋ค.
Flatpak์ ์ฃผ์ ๊ธฐ๋ฅ์ ์๋๋ฐ์ฑ์ด๋ฉฐ ์ด๋ฅผ ๋นํ์ฑํํ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ํตํฉ ํฐ๋ฏธ๋์ ํ์๋๋ /usr ๋ฐ /bin์ ์์ฒด ์์คํ
์ด ์๋ SDK์์ ์ ๊ณต๋ฉ๋๋ค.
์ ๋๊ธ์ฒ๋ผ ์คํ๋ฑ์์ ์ฌ์ฉํ๋ Discover ์ ์ฑ๋ค์ ๊ฒฐ๊ตญ Flatpak์ด๋ ๊ฒฐ๊ตญ ์๋๋ฐ์ค์์ต๋๋ค.
๊ทธ๋ฌ๋๊น VSCODE ํฐ๋ฏธ๋ ์ญ์ ์ผ์ข ์ ๋ณ๋๋ก ๊ฒฉ๋ฆฌ๋ ํ๊ฒฝ์ด๋ผ๊ณ ๋ณด๋ ๊ฒ์ด ๋ง์์ต๋๋ค.
์ญ์๋ ์๋๊ฒ ์๋ ๊นํ๋ธ ์ด์์ ๋๋ค.
{
"terminal.integrated.profiles.linux": {
"Flatpak Escape": {
"path": "flatpak-spawn",
"args": [
"--host",
"toolbox",
"run",
"bash"
],
}
},
"terminal.integrated.defaultProfile.linux": "Flatpak Escape"
}
์ด์ ์์ธ์ ์์์ผ๋ ๊ฐ์ฅ ์ฌํํ ๋ฐฉ๋ฒ์ธ ์ธ๋ถ์์ ์คํํ๋๋ก ํ์ถ์์ผ๋ณด์์ต๋๋ค.
๋๊ธ์ ๋์์๋ ๊ฐ๋จํ ์ค์ ์์ ๋ฅผ ๋ฐ๋ผ settings.json์ ์ ์ฉํด๋ด ๋๋ค.
VSCODE์ ํฐ๋ฏธ๋์ ๋๋ฅด๋ฉด ์ Konsole ์ฐฝ์ด ์ด๋ฆฌ๊ณ ์์ ํ๋ ์์ค์ ๊ฒฝ๋ก๋ฅผ ๋ฐ๋ผ๋ณด๋ ์ข ๋ ์ฝ๊ฒ ์ฌ์ฉ์ด ๊ฐ๋ฅํด์ก์ต๋๋ค.
์ผ๋จ gulp๋ ์ ๋์ํ๊ณ ์๋ฒ๋ ์ฌ๋ผ์ค๋ ๊ฒ์ด ํ์ธ๋๊ธด ํฉ๋๋ค.
๊ทธ๋ฌ๋ ์ต์ํ GUI ํ๋จ์ ๋ํ๋๋ ํฐ๋ฏธ๋ ๋ชจ์์ด ์๋๋ผ์ ์ฉ ๋ณด๊ธฐ ์ข์ ํํ๋ ์๋๋๋ค.
์ฌ๊ธฐ๊น์ง ์ฌ ์ ์๋ค๋ฉด ๋ถ๋ช VSCODE ์์ชฝ์ผ๋ก ๋์ธ์ ์๋ค ์ถ์ด ๋๊ธ๋ค์ ์ข ๋ ์ฐพ์๋ณด์์ต๋๋ค.
์ญ์๋ zsh๊น์ง ๊ณ ๋ คํด์ ์์ ํด๋ ๋ฆฌ๋ ์ค์ฉ ํ๋กํ์ด ์์์ต๋๋ค.
์์๊ฒ ์์๊น์ง ๋ฃ์ด๋์๊ธธ๋ ๊ทธ๋๋ก ๊ฐ์ ธ๋ค๊ฐ settings.json์ ์ ์ฉํ์ต๋๋ค.
{
"terminal.integrated.profiles.linux": {
"BASH": {
"path": "/usr/bin/flatpak-spawn",
"args": [
"--host",
"--env=TERM=xterm-256color",
"bash"
]
},
"ZSHELL": {
"path": "/usr/bin/flatpak-spawn",
"args": [
"--host",
"--env=TERM=xterm-256color",
"zsh"
]
},
"Flatpak": {
"path": "/bin/bash"
}
},
"terminal.integrated.defaultProfile.linux": "BASH"
}
์ ์ค์ ์ฒ๋ผ Flatpak ์ธ๋ถ์ ํธ์คํธ๋ฅผ ๊ธฐ์ค์ผ๋ก ์คํํ๋ฉฐ ํธ์คํธ์ bash, zsh,๋ณธ๋ Flatpak ํฐ๋ฏธ๋๊น์ง ๋ชจ๋ ์ด๋ ค๋ ์ต์ ์ ๋๋ค.
defaultProfile.linux
์ ํ๋กํ๋ง ๋ณ๊ฒฝํ๋ฉด ์ธ์ ๋ ์ง ๋ฐ๊ฟ๊ฐ๋ฉฐ ์ธ ์ ์๋ ๊ตฌ์กฐ์ ๋๋ค.
VSCODE์์ ํ์ฌ $PATH๋ฅผ ๋ ๋ ค๋ณด๋ฉด ์ด์ ์์ผ ์์ฌ์ค๋ฌ์ด Flatpak ๊ฒฝ๋ก๊ฐ ๋ํ๋ฉ๋๋ค.
์ญ์๋ ์ธ์์ ๋ฐฐ์ธ๊ฒ ๋์ด ์์ต๋๋ค.
์ด๋ ๊ฒ VSCODE์ settings.json์ค์ ์ ์๋ฃํ๊ณ ๋๋ ๊น๋ํ๊ฒ ์ ์ฉ๋ ๋ชจ์ต์ ๋๋ค.
ํฐ๋ฏธ๋ ์ปฌ๋ฌ๋ ์ ๋จนํ๊ณ zsh๋ก ๋ฐ๊ฟ๊น ํ๋ค๊ฐ ์ค์ง๋์ธ ๊ฒ ๊ฐ์ ์ผ๋จ ์ฌ๊ธฐ๊น์ง๋ง ์งํํ์ต๋๋ค.
์ฐ๋ถํฌ์ apt๋ ๋ ๋ํ ๊ณ์ด์ yum์ ์ต์ํ๋ค ๋ณด๋ ์ ๋ฐ์ดํธ๊ฐ ํธ๋ฆฌํ ๊ฒ ๊ฐ์ ๊ณ ์งํ๋ Flatpak์ด ์ด๋ฐ ํน์ฑ์ ๊ฐ์ง๊ณ ์๋์ง๋ ์ฒ์ ์์์ต๋๋ค.
ArchLinux๊ฐ ๊ทธ๋๋ ์ข๋ค ์ข๋ค ํ๋ ์ฌ๋๋ค์ด ๋ง์์ ๋ผ์ฆ๋ฒ ๋ฆฌ ํ์ด์์ ์ ๊น ๊ฐ์ง๊ณ ๋๋ ๋ง์๋ก ๋ฆฌ๋ ์ค๋ณด๋ค๋ ํธํ ๊ฒ ๊ฐ์๋๋ฐ ์๊ฐ๋ณด๋ค ์ฝ์ง ์์ ๊ตฌ์กฐ์์ต๋๋ค.
๊ทธ๋ผ์๋ ๊ฐ๋จํ ๊ฐ๋ฐ์๋ ์ญ์ ๋ฆฌ๋ ์ค๋ก๋ ์ถฉ๋ถํ๋ฐ๋ค๊ฐ ๋ฌธ์ ๊ฐ ์๊ฒจ๋ ๊ฒฐ๊ตญ ๋ฆฌ๋ ์ค๋ผ ์ด๋ป๊ฒ ํด๊ฒฐ์ด ๋๊ธด ํ๋๊ตฐ์. :)