<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>insik-han.log</title>
        <link>https://velog.io/</link>
        <description></description>
        <lastBuildDate>Mon, 20 Jun 2022 12:46:05 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>insik-han.log</title>
            <url>https://velog.velcdn.com/images/insik-han/profile/5e4f4e8f-0f19-4ef7-8461-cb247c4bec0b/social_profile.jpeg</url>
            <link>https://velog.io/</link>
        </image>
        <copyright>Copyright (C) 2019. insik-han.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/insik-han" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[Volta 로 node, package 버전을 관리]]></title>
            <link>https://velog.io/@insik-han/Volta-%EB%A1%9C-node-package-%EB%B2%84%EC%A0%84%EC%9D%84-%EA%B4%80%EB%A6%AC</link>
            <guid>https://velog.io/@insik-han/Volta-%EB%A1%9C-node-package-%EB%B2%84%EC%A0%84%EC%9D%84-%EA%B4%80%EB%A6%AC</guid>
            <pubDate>Mon, 20 Jun 2022 12:46:05 GMT</pubDate>
            <description><![CDATA[<blockquote>
<p><a href="https://volta.sh">https://volta.sh</a></p>
</blockquote>
<p>Volta는 nvm 처럼 node 버전을 관리할 수 있는 Javascript Tool Manager입니다.<br/>
그리고 global package의 버전을 프로젝트에 따라 다르게 관리할 수 있습니다.(중요)<br/>
Rust로 만들어져 있어 굉장히 빠르고 Windows, Linux, MacOS 를 지원합니다.</p>
<h2 id="설치">설치</h2>
<blockquote>
<p><a href="https://docs.volta.sh/guide/getting-started">https://docs.volta.sh/guide/getting-started</a></p>
</blockquote>
<h3 id="windows에서-설치">Windows에서 설치</h3>
<p><a href="https://docs.volta.sh/guide/getting-started#windows-installation">https://docs.volta.sh/guide/getting-started#windows-installation</a></p>
<h3 id="linux에서-설치">Linux에서 설치</h3>
<pre><code class="language-bash">curl https://get.volta.sh | bash</code></pre>
<h3 id="macos에서-설치">MacOS에서 설치</h3>
<ul>
<li>curl<pre><code class="language-bash">curl https://get.volta.sh | bash</code></pre>
</li>
<li>brew<pre><code class="language-bash">brew install volta</code></pre>
</li>
</ul>
<p>bash, zsh, fish는 환경변수를 추가해줘야 합니다.
저는 MacOS환경에서 zsh를 사용하고 있어서 ~/.zshrc 에 하단의 코드를 추가했습니다.</p>
<pre><code class="language-bash">export VOLTA_HOME=&quot;$HOME/.volta&quot;
export PATH=&quot;$VOLTA_HOME/bin:$PATH&quot;
# export VOLTA_FEATURE_PNPM=1 # pnpm 사용시 주석 해제</code></pre>
<h2 id="nodejs-설치">Node.js 설치</h2>
<ul>
<li><p>lts로 설치</p>
<pre><code class="language-bash">volta install node</code></pre>
</li>
<li><p>예시)14버전으로 설치</p>
<pre><code class="language-bash">volta install node@14</code></pre>
<h2 id="버전-고정pinning">버전 고정(Pinning)</h2>
</li>
</ul>
<blockquote>
<p><a href="https://docs.volta.sh/reference/pin">https://docs.volta.sh/reference/pin</a></p>
</blockquote>
<ul>
<li><p>command</p>
<pre><code class="language-bash">volta pin node@16.15.1
volta pin npm@8.11.0
volta pin yarn@1.22.19
volta pin pnpm@7.3.0</code></pre>
</li>
<li><p>package.json</p>
<pre><code class="language-json">{
// ...
&quot;volta&quot;: {
  &quot;node&quot;: &quot;16.15.1&quot;,
  &quot;npm&quot;: &quot;8.11.0&quot;,
  &quot;yarn&quot;: &quot;1.22.19&quot;,
  &quot;pnpm&quot;: &quot;7.3.0&quot;
}
}</code></pre>
</li>
</ul>
<p>이러한 식으로 버전을 명시해놓으면 해당 프로젝트안에서는 각 패키지의 버전이 명시된 버전으로 고정됩니다.
물론 다같이 Volta를 사용해야겠죠?:)</p>
]]></description>
        </item>
    </channel>
</rss>