Day 11: Battling Node Version Managers

I was trying to open an old project for reference and it seemed like there were issues running it. So my thought was to update all the packages and wow did things take a turn. I continued to struggle but then thought, “Well, why don’t I finally check out node version managers. I have heard about them but have never needed multiple different versions of Node.js before. I just use the latest version until I need to update it LOL.” This thought lead me down a rabbit hole and now I am using the nvm for windows package and I am still confused as to how to make the most of it.

At first I tried the nodist project with some success. The problem came when I tried to install different versions of npm. I was originally not aware that npm versions only work with certain versions of Node.js. When I tried to install a different version I kept getting an error that vaguely said that the Github Auth token was expired so I could not successfully pull down other versions of the npm using the tool. I could not figure out how to work around this issues that had not been resolved since 2021 so I had to change directions.

nvm is a widely supported tool for Linux and MacOS but not for windows. Thankfully there are some awesome devs that built a windows version. Once I read through the basics in the Usage guide I set it up. The only catch about using it is that you need to be running the shell as an admin to have permissions for installing additional versions of Node.js. I have not used it to download other versions of npm yet because honestly I’m tired. Maybe I will check it out on another day but for now I am a bit traumatized. I have now experience the reality of packages and libraries that are no longer supported. I really need to start contributing to the open source community. They are the unsung heroes of the tech industry. Thank you all for your contributions!

TLDR;

Okay, so here are the highlights of what I did:

  • Node Version Management -> Worked through how to set up and use nvm for windows and nodist. This is was painful as I explained above.
  • Practice -> Started working on the Mini Message Board project from The Odin Project curriculum. I just read through the requirements and looked at some of the example submissions. I got derailed by the whole versions of node and npm thing. What a way to end a day. Sheesh


Goal For Round 8 of the #100DaysofCode Challenge

This is my eighth round of the “#100daysofcode” challenge. I will be continuing my work from round five, six, and seven into round eight. I was working through the book “Cracking the Coding Interview” by Gayle Laakmann McDowell. My goal was to become more familiar with algorithms and data structures. This goal was derived from my goal to better understand operating systems and key programs that I use in the terminal regularly e.g. Git. This goal was in turn derived from my desire to better understand the fundamental tools used for coding outside of popular GUIs. This in turn was derived from my desire to be a better back-end developer.

I am currently putting a pause on the algorithm work to build some backend/full stack projects. I primarily want to improve my skills with the back-end from an implementation perspective. I have improved tremendously in terminal and CLI skills but I lost focus due to how abstract the algorithm concepts got. I wanted to work on things that were more tangible until I can get to a position where I could directly benefit from improving my algorithm skills and theoretical knowledge. So that’s the focus right now. Build my backend skills and prove my full stack capabilities by building some dope projects.

Again, I still have no idea if my path is correct but I am walking down this road anyways. Worst case scenario I learn a whole bunch of stuff that will help me out on my own personal projects. Best case scenario I actually become one of those unicorn developers that go on to start a billion dollar company… You never know LOL.