[vue3] pnpm ์ค์น (ft. errno -13 ์ค๋ฅ)
pnpm ์ค์นํ๊ธฐ
vue ํ๋ก์ ํธ์ ํจํค์ง ๊ด๋ฆฌ๋ฅผ npm -> pnpm์ผ๋ก ๋ณ๊ฒฝํ๊ณ ์ ํ๋ค.
pnpm์ npm๋ณด๋ค ์ฌ๋ฌ ๋ฐฉ๋ฉด์์ ํฅ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค๊ณ ํ๋ค.(์ฉ๋, ์บ์ ์ฉ๋ ์ ์ฝ ๋ฑ)
ํ์ฌ์ ์ ๊ท ํ๋ก์ ํธ๋ ํจ์งํค ๊ด๋ฆฌ๋ฅผ pnpm์ ์ฌ์ฉํ๊ณ ์๊ณ ๊ฐ์ธ ํ๋ก์ ํธ๋ pnpm์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ฌ๋ฌ๋ฐฉ๋ฉด์ผ๋ก ๋์์ด ๋ ๋ฏ ํ๋ค.
๐ ์ค์น ์ค๋น๋ฌผ
pnpm์ ์ค์นํ๊ธฐ ์ํด์๋ Node.js์ ๋ฒ์ ผ์ด 18.0 ์ด์์ด์ฌ ํ๋ค๊ณ ํ๋ค.
$ node --version
ํฐ๋ฏธ๋์์ ์ ๋ช ๋ น์ด๋ฅผ ์ณ์ ๋ ธ๋ ๋ฒ์ ผ์ ํ์ธํ์.($๋ ๋ช ๋ น์ด๋ฅผ ์๋ฏธํ๋ $๋ ๋นผ๊ณ ํ์ดํ ํด์ค์ผํ๋ค.)
๊ฒฐ๊ณผ๊ฐ์ด v18.0.0 ์ด์์ด๋ผ๋ฉด ์ค์น ๊ฐ๋ฅํ ๊ฒ์ด๋ค.
๐ ์ค์น ํ๊ธฐ
$ npm install -g pnpm
ํฐ๋ฏธ๋์์ pmpm์ ์ค์นํ๋ ๋ช ๋ น์ด๋ฅผ ์ด์ฉํด์ ์ค์น ํ๋ค.
>>>
added 1 package in 236ms
1 package is looking for funding
run `npm fund` for details
์์ ๋น์ทํ ๊ฒฐ๊ณผ๊ฐ ๋์ค๋ฉด ์ค์น๊ฐ ์ฑ๊ณต๋ ๊ฒ์ด๋ค. (>>>๋ ๊ฒฐ๊ณผ๋ฅผ ์๋ฏธํ๋ ๊ฒ์ผ๋ก ์ค์ ๋ก ๋์ค๋ ๊ฒ์ ์๋)
๐ ์ค์น ์ค๋ฅ ํด๊ฒฐํ๊ธฐ
>>>
npm ERR! code EACCES
npm ERR! syscall symlink
npm ERR! path ../lib/node_modules/pnpm/bin/pnpx.cjs
npm ERR! dest /usr/local/bin/pnpx
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, symlink '../lib/node_modules/pnpm/bin/pnpx.cjs' -> '/usr/local/bin/pnpx'
์ ์ฒ๋ผ ์ค์น ์ค๋ฅ๊ฐ ๋์ฌ ์ ์๋ค.
์ค์น ์ค ์ ๊ทผํด์ผํ๋ ํ์ผ์ ๊ถํ์ด ์๋ ๋ฌธ์ ์ธ๋ฐ, ๊ด๋ฆฌ์ ๊ถํ์ผ๋ก ์ค์น ๋ช ๋ น์ด๋ก ๋ฐ๊ฟ์ฃผ๋ฉด ํด๊ฒฐ๋๋ค.
$ sudo npm install -g pnpm
>> Password:
๋ช ๋ น์ด๋ฅผ ์น๋ฉด Password: ๋ผ๋ ๊ฒฐ๊ณผ๊ฐ ๋์ค๊ณ ๋ณธ์ธ pc์ ๋ก๊ทธ์ธ ๋น๋ฐ๋ฒํธ๋ฅผ ์ณ์ฃผ๋ฉด ๋๋ค.(ํ์ด๋ฐ ๊ฒฐ๊ณผ๋ ์๋ ๋ณด์ด์ง ์์ผ๋ ๊ทธ๋ฅ ์ณ์ฃผ๋ฉด ๋๋ค.)