https://github.com/npm/read-cmd-shim/pull/6์ ๋ฐ๋ผ ์ ์ญ ํจํค์ง๋ฅผ ์ค์นํ ๋ PowerShell ์คํฌ๋ฆฝํธ๊ฐ ์ถ๊ฐ๋ฉ๋๋ค. Windows์์ ps1 ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ๊ธฐ ์ํด ๋ณด์ ํ๋๊ทธ๋ฅผ ์ถ๊ฐํด์ผํ๋ ๋ฒ๊ฑฐ ๋ก์์ด ๋ฐ์ํฉ๋๋ค. ๊ทธ๋ ์ง ์์ผ๋ฉด์ด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
* * .ps1์์ด ์์คํ ์์ ์คํฌ๋ฆฝํธ ์คํ์ด ๋นํ์ฑํ๋์ด ์๊ธฐ ๋๋ฌธ์๋ก๋ ํ ์ ์์ต๋๋ค.
์ด์ ์๋ PowerShell์ด โโ๋์ cmd ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ๋ชจ๋ ์ ์ญ npm ํจํค์ง๊ฐ ์ฆ์ ์คํ๋์์ต๋๋ค. ์ด ์ถ๊ฐ๋ก ์ธํด ์ฌ๋๋ค, ํนํ Windows์์ Visual Studio Code์ ๊ธฐ๋ณธ ์ ๊ณต ํฐ๋ฏธ๋ ์ธ PowerShell์ ์ฌ์ฉํ๋ ์ฌ๋๋ค ์ฌ์ด์์ ๋ง์ ํผ๋์ด ๋ฐ์ํ ๊ฒ์ผ๋ก ์์๋ฉ๋๋ค.
https://github.com/microsoft/TypeScript/issues/35031
https://stackoverflow.com/questions/58796490/tsc-ps1-cannot-be-loaded-because-running-scripts-is-disabled-on-this-system
๊ทธ๋ฆฌ๊ณ ๋ค์ ๋ช ๊ฐ์ง ์ต์ ๋ต๋ณ์ ps1 ํ์ผ ์ญ์ ๋ฅผ ์ ์ํฉ๋๋ค.
https://stackoverflow.com/questions/57673913/vsc-powershell-after-npm-updating-packages-ps1-cannot-be-loaded-because-runnin
@Cerlancism. PowerShell์ ๋ค์ ๋ช ๋ น์ ์ ๋ ฅํ์ญ์์ค.
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
๋๋
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine
.ps1 PowerShell ์คํฌ๋ฆฝํธ๋ฅผ ์คํ ํ ํ
๋ฟก ๋นต๋จ
https://github.com/npm/read-cmd-shim/pull/6 ์์ powershell ์ง์์์ ์ถ์ถ ๊ฒฝ๋ก ๋ง ์ถ๊ฐํฉ๋๋ค.
์ด ๊ธฐ๋ฅ์ https://github.com/npm/cli/pull/281 ์ฉ์
๋๋ค.
ํจํค์ง๋ฅผ ์ค์นํ ๋ * .ps๊ฐ ์ถ๊ฐ ๋ ์ด์ ๋ฅผ ์๊ณ ์ถ๋ค๋ฉด https://github.com/npm/cmd-shim/pull/34 ๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
PowerShell ์คํฌ๋ฆฝํธ๋ ๋ํ ํ์ดํ ๋ผ์ธ ์ ๋ ฅ์ด ์ ๋ฌ๋์์ ๋ ํ์ค ์ ๋ ฅ์ Node.js ํ๋ก์ธ์ค ( https://github.com/npm/cmd-shim/pull/43 )๋ก ํ์ดํํ๋ ๊ธฐ๋ณธ ์ ๊ณต ๋ฐฉ๋ฒ์ ์ ๊ณตํ๋ ์ ์ผํ ์คํฌ๋ฆฝํธ์ ๋๋ค. ์คํฌ๋ฆฝํธ.
๋ฐฉ๊ธ ์ ์ปดํจํฐ์ ์ต์ NPM์ ์ค์นํ๋๋ฐ ์ด๊ฒ์ ์์์์ ๊บผ๋ด๋ ๋ฐ ์ฌ์ฉ๋๋ ๋์ ๋งค์ฐ ํผ๋์ค๋ฌ์ด ๋์์ ๋๋ค.
@ RAJU2529์์ ์ ๊ณตํ๋ ์๋ฃจ์
์ ์ปดํจํฐ์์ ์ํ๋ ๋ชจ๋ ์์
์ ์ํ ํ ์์๋ ํ ๊ด์ฐฎ์ต๋๋ค. ๋๋ฉ์ธ์ ๊ฐ์
๋ ์ปดํจํฐ์์์ด ์ค์ ์ ์กฐ์ง ์ค์ ์ ์ํด ์ ์ด ๋ ์ ์์ผ๋ฉฐ ์ฌ์ฉ์๊ฐ ์ปดํจํฐ์์ ๊ด๋ฆฌ์ ์ธ ๊ฒฝ์ฐ์๋ ์ฌ์ ์ ํ ์ ์์ต๋๋ค.
NPM ๋ฒ์ ์ ๋ค์ด ๊ทธ๋ ์ด๋ํ๋ ๊ฒ ์ธ์ ๋ค๋ฅธ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์์ต๋๊น?
npm bin ๋๋ ํ ๋ฆฌ์์ ๋ชจ๋ *.ps1
์คํฌ๋ฆฝํธ๋ฅผ ์ญ์ ํ์๊ฒ ์ต๋๊น?
@ ExE-Boss ๊ทธ๊ฒ ๋ด๊ฐ ์ง๊ธ ๋๋ธ ์ผ์ด์ง๋ง ์ค์ ๋ก๋ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๋๋ค ...
์ ๋ด์ฉ์๋ ๋์ํ์ญ์์ค. ์คํ ์ ์ฑ ์ ๋ณ๊ฒฝํ๋ ๊ฒ๋ณด๋ค ๋ซ์ต๋๋ค ... ๋๋ ๊ทธ๊ฒ์ด ์๋ํ๋ค๋ ๊ฒ์ ์๊ณ ์์ผ๋ฉฐ ๋ชจ๋ ์ฌ๋๋ค์ด ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ ๊ฐ๋ฅ์ฑ์ด ์์ง๋ง ... ์์ ํ ๋ฐ๋ณด์ ๋๋ค.
์ต๊ทผ์ ๋น๋ ์๋ฒ๋ฅผ ๋
ธ๋์ ์ต์ LTS๋ก ์
๋ฐ์ดํธํ์ต๋๋ค.
์ผ๋ถ PowerShell ์คํฌ๋ฆฝํธ๋ ๋ค์๊ณผ ๊ฐ์ ์ฝ๋๋ฅผ ์ฌ์ฉํฉ๋๋ค.
Start-Process "npm-cli-login" [...] -NoNewWindow
powershell์ด โโ์ฌ์ฉํ๋ ์คํ ํ์ผ ( (Get-Command npm-cli-login).Source
)์ ๋ฌป๋ ๊ฒฝ์ฐ cmd ๋์ ์๋ก ์์ฑ ๋ ps1 -Files๋ฅผ ์ป์ต๋๋ค.
ps1-script๊ฐ ์ ํจํ ์คํ ํ์ผ์ด ์๋๋ฏ๋ก ํ๋ก์ธ์ค๊ฐ %1 is not a valid win32 application
์ ํจ๊ป ์ข
๋ฃ๋ฉ๋๋ค.
์ด๋ ๋ฒ์ ๋ด์ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ ์ด๋ฉฐ ์ต์ํ ๊ฒํ ํด์ผํฉ๋๋ค.
npm bin ๋๋ ํ ๋ฆฌ์์ ๋ชจ๋
*.ps1
์คํฌ๋ฆฝํธ๋ฅผ ์ญ์ ํ์๊ฒ ์ต๋๊น?
npm link
๋๋ npm i -g ../<package>
๋ฅผ ์ฌ์ฉํ๋ ๋์ Windows์์ .ps1
์คํฌ๋ฆฝํธ๋ฅผ ๋ง๋ค์ง ์๋๋กํ๋ ๋ฐฉ๋ฒ์ด ์์ต๋๊น? npm ํด๋๋ก ์ด๋ํ์ฌ์ด ์๋ง์ง์ฐฝ์ ํญ์ ์ฒญ์ํด์ผํ๋ ๊ฒ์ ๋ค์ ๋ต๋ตํฉ๋๋ค.
์์คํ
์ ๋ช
๋ น ํ๋กฌํํธ๊ฐ์๋ ๊ฒฝ์ฐ ๋น ๋ฅธ ํด๊ฒฐ ๋ฐฉ๋ฒ ์ค ํ๋๋ PowerShell์ ๋์ cmd ๋ฒ์ ์ ์ฌ์ฉํ๋๋ก ์ง์ํ๋ ๊ฒ์
๋๋ค. <package-name>.cmd
์๋ฅผ ๋ค์ด TypeScript์ ๊ฒฝ์ฐ :
๋์ ์
tsc -v
์ด์ PowerShell์์ tsc.ps1์ ํธ์ถํฉ๋๋ค.
์ฌ์ฉํ๋ค
tsc.cmd -v
์์คํ ์ ๋ช ๋ น ํ๋กฌํํธ๊ฐ์๋ ๊ฒฝ์ฐ ๋น ๋ฅธ ํด๊ฒฐ ๋ฐฉ๋ฒ ์ค ํ๋๋ PowerShell์ ๋์ cmd ๋ฒ์ ์ ์ฌ์ฉํ๋๋ก ์ง์ํ๋ ๊ฒ์ ๋๋ค.
<package-name>.cmd
์, .cmd
๋ฅผ ์ถ๊ฐํ๋ฉด powershell์ด โโ์ฌ๋ฐ๋ฅธ ์คํ ํ์ผ์ ์ฌ์ฉํฉ๋๋ค.
๊ทธ๋ฌ๋ ๋ฆด๋ฆฌ์ค ํ์ ๋ณ๊ฒฝ๋์ง ์์์ผํ๋ ๋น๋ ์คํฌ๋ฆฝํธ์ ๋ฒ์ ์ ์ง์ ํ ๊ฒฝ์ฐ ๋ค์ ๋ ๊ฐ์ง ๊ฐ๋ฅ์ฑ ๋ง ์์ต๋๋ค.
์ด ๊ธฐ๋ฅ์ ์ถ๊ฐ ํ ํ ์์ฒญ 34 ๋์ด๋ฅผ npm ๋ฌธ์ 20699์ ๋ํ ์์ ์ผ๋ก ์ฐธ์กฐํฉ๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ํ์ธํ๋ฉด ํต์ฌ ๋ฌธ์ ๋ Windows ๋ช ๋ น ์ค์์ ์ฐํผ์๋ ๋ฌธ์๋ฅผ ๋ช ๋ น ์ธ์๋ก ์ ๋ฌํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ์ด๋ ๋ช ๋ น ๊ตฌ๋ถ ๊ธฐํธ๋ก ํด์๋๋ฏ๋ก ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
๊ทธ๋ฌ๋ Windows ๋ช
๋ น ์ค์์๋ ์บ๋ฟ์ผ๋ก ์ฐํผ์๋ ๋ฌธ์๋ฅผ ์ด์ค์ผ์ดํ ํ ์ ์์ต๋๋ค. ^&
Longshot, ๊ทธ๋ฌ๋ ์ด๊ฒ์ด ์ด๋ฌํ ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ ๋์ ํ ๊ตฌํ์ ๋ํ ์คํ ๊ฐ๋ฅํ ๋์ ์๋ฃจ์ ์ผ ์ ์์ต๋๊น? ์ธ์๊ฐ Windows ๋ช ๋ น ์ค ๋ฐ ์ ๊ท์์ผ๋ก ํฅํ๋ ๊ฒ์ ๊ฐ์งํ๊ฑฐ๋ ์บ๋ฟ ๋ฌธ์๋ฅผ ์ธ์์ ์ด์ค์ผ์ดํ๋ก ์ฝ์ ํ ์์๋ ๋ฐฉ๋ฒ์ด ์์ต๋๊น? @ ExE-Boss ๋ณด์ค์ ๊ฐ์ ์ฌ๋์ด ๋น์ทํ ๊ฒ์ ์ฌ์ฉํ์ฌ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์์๋ ์ด์ ๊ฐ ์๋์ง ์๊ณ ์์ต๋๊น?
๋ค์ ๋ฌธ์์์๋ Windows ๋ช
๋ น ์ค ์ธ์ ๊ตฌ๋ฌธ ๋ถ์์ ์ฒ๋ฆฌํ๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ ๋ค๋ฃน๋๋ค. ๊ฐ์ด๋๋ก ์ฌ์ฉ ํ์๊ฒ ์ต๋๊น?
https://docs.microsoft.com/en-us/archive/blogs/twistylittlepassagesallalike/everyone-quotes-command-line-arguments-the-wrong-way
๋๋ ์ด๊ฒ๊ณผ ๊ด๋ จ๋ ps1 ์คํฌ๋ฆฝํธ๋ฅผ ์ฌ์ฉํ์ฌ ํ์ดํ๊ฐ ์๋ํ์ง ์๋๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋ค์๊ณผ ๊ฐ์ด ๋ง์ด ์ฌ์ฉ๋๋ ๋๊ตฌ๋ฅผ ์๋ํ๊ณ ์์ต๋๋ค.
์์
๋ ์์๋ค
์๋ฅผ ๋ค์ด Powershell์์ ๋ค์์ ์คํํ ๋ :
echo '{"a": 1}' | prettyjson
ํฐ๋ฏธ๋์ CTRL + C๋ฅผ ๋๋ฅผ ๋๊น์ง ์ ๋ ฅ์ ๊ณ์ ๋๊ธฐํ๊ณ ์์ ์ถ๋ ฅ์์ด ์ข ๋ฃ๋ฉ๋๋ค.
ํด๊ฒฐ ๋ฐฉ๋ฒ์ .cmd
์ ๋ช
๋ น์ ์ถ๊ฐํ๊ฑฐ๋ ๋์ cmd๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์
๋๋ค.
echo '{"a": 1}' | prettyjson.cmd
์ถ๋ ฅ
a: 1
stackoverflow์ ๋ํ ๋ด ์ง๋ฌธ : https://stackoverflow.com/questions/62951533/why-pipes-are-not-working-on-powershell-for-various-nodejs-cli-tools
์ฃ์กํฉ๋๋ค. stdin ๋ฐฐ๊ด์ ๋ํด https://github.com/npm/cli/issues/470#issuecomment -568165144 ์ด์ ์ ์ฌ๊ธฐ์ ์ฃผ์์ ๋ฌ์์ผ๋ฉฐ PR์ ์ฌ๊ธฐ์ ์์ต๋๋ค https://github.com/npm/cmd-shim / pull / 43 . ๊ทธ๋ฌ๋ ์ฌ์ ํ .cmd
๊ฒ์ ํ์ดํ์์ ์๋ํ๋ ๊ฒ์ฒ๋ผ ๋ณด์
๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
npm bin ๋๋ ํ ๋ฆฌ์์ ๋ชจ๋
*.ps1
์คํฌ๋ฆฝํธ๋ฅผ ์ญ์ ํ์๊ฒ ์ต๋๊น?