<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Version-Management on Janik von Rotz</title>
    <link>https://janikvonrotz.ch/tags/version-management/</link>
    <description>Recent content in Version-Management on Janik von Rotz</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Fri, 25 Mar 2022 16:00:45 +0100</lastBuildDate>
    <atom:link href="https://janikvonrotz.ch/tags/version-management/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Manage Python versions with pyenv</title>
      <link>https://janikvonrotz.ch/2022/03/25/manage-python-versions-with-pyenv/</link>
      <pubDate>Fri, 25 Mar 2022 16:00:45 +0100</pubDate>
      <guid>https://janikvonrotz.ch/2022/03/25/manage-python-versions-with-pyenv/</guid>
      <description>&lt;p&gt;With &lt;a href=&#34;https://github.com/pyenv/pyenv&#34;&gt;pyenv&lt;/a&gt; you can easily switch between python versions. When working on multiple project is recommended to create a &lt;code&gt;.python-version&lt;/code&gt; file containing the targeted node version. Here is how.&lt;/p&gt;&#xA;&lt;p&gt;First make sure the right python version is installed.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;➜  example-project git:&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;main&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; python --version&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Python 3.7.8&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;➜  example-project git:&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;main&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; pyenv install 3.8.6&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Installing Python-3.8.6...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Installed Python-3.8.6 to /home/janikvonrotz/.pyenv/versions/3.8.6  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Use the new version locally.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;➜  example-project git:&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;main&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; pyenv local 3.8.6&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;➜  example-project git:&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;main&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; ✗ cat .python-version&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;3.8.6&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Of course you can set the new version globally using &lt;code&gt;pyenv global x.x.x&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Switch between folders to check if the correct version is loaded automatically.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;➜  ~ python --version &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Python 3.7.8&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;➜  example-project git:&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;main&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; ✗ python --version&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Python 3.8.6&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Here is an overview of the python version is selected when working with pyenv.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://janikvonrotz.ch/images/python-versions.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;You can reset the global version by setting &lt;code&gt;system&lt;/code&gt; as python version.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;➜  ~ echo system &amp;gt; ~/.pyenv/version&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Create and use nvm rc file</title>
      <link>https://janikvonrotz.ch/2022/03/17/create-and-use-nvm-rc-file/</link>
      <pubDate>Thu, 17 Mar 2022 16:44:45 +0100</pubDate>
      <guid>https://janikvonrotz.ch/2022/03/17/create-and-use-nvm-rc-file/</guid>
      <description>&lt;p&gt;With &lt;a href=&#34;https://github.com/nvm-sh/nvm&#34;&gt;nvm&lt;/a&gt; you can easily switch between node versions. When working on multiple project is recommended to create a &lt;code&gt;.nvmrc&lt;/code&gt; file containing the targeted node version. Here is how.&lt;/p&gt;&#xA;&lt;p&gt;First make sure node is on the right version.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;➜  example-project git:&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;main&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; node -v&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;v12.22.6&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;➜  example-project git:&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;main&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; nvm use &lt;span style=&#34;color:#ae81ff&#34;&gt;14&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Now using node v14.18.3 &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;npm v6.14.15&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;➜  example-project git:&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;main&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; node -v&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;v14.18.3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Pipe the version into the &lt;code&gt;.nvmrc&lt;/code&gt; file.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;➜  example-project git:&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;main&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; node -v &amp;gt; .nvmrc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Then assume you switch to another version.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;➜  example-project git:&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;main&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; ✗ nvm use &lt;span style=&#34;color:#ae81ff&#34;&gt;12&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Now using node v12.22.6 &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;npm v6.14.15&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;➜  example-project git:&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;main&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; ✗ cat .nvmrc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;v14.18.3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;In the project type &lt;code&gt;nvm use&lt;/code&gt; and it will automatically load the version in the &lt;code&gt;.nvmrc&lt;/code&gt; file.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;➜  example-project git:&lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;main&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt; ✗ nvm use&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Found &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;/home/janikvonrotz/jaiunedemande/.nvmrc&amp;#39;&lt;/span&gt; with version &amp;lt;v14.18.3&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Now using node v14.18.3 &lt;span style=&#34;color:#f92672&#34;&gt;(&lt;/span&gt;npm v6.14.15&lt;span style=&#34;color:#f92672&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Repeat this process for all projects.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
