If you’ve used a Linux or Mac system as a developer, you may well agree with me that their flexible and secure options for managing packages are second to none.
Package managers like apt-get for Linux and Homebrew for Mac have greatly improved the installation speed, configuration, and security of packages for our projects.
Well, if you’re a Windows user, then do not fear! Guess what? Thanks to Chocolatey, you can automatically install packages and software and deploy packages right from your Windows terminal — all without having to manually jump through hoops to install and set them up.
In this article, I will guide you on how to set up Chocolatey to do the following right from your Windows system.
Chocolatey is a Windows package manager that helps install, upgrade, and uninstall packages, and more.
You can think of it as similar to the aforementioned APT or Homebrew. Its ability to scan through installed packages for virus detection means you can be confident that packages remain secure.
Unlike other package managers like Winget, RuckZuck, and Yarn, Chocolatey brings several benefits with it, such as:
Chocolatey
install commands into your PowerShell scriptsLet’s navigate to the command line (CMD). Open it as an admin and run the following PowerShell scripts:
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "[System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
While installing Chocolatey, you may run into the following error shown in the code snippet image here:
Open PowerShell as an admin and set the required rights, as shown below:
Get-ExecutionPolicy
If this response returns:
Restricted
Then run the following code snippet:
Get-ExecutionPolicy AllSigned
After running the code snippet above, you will be prompted to respond “Yes” to secure your system against scripts you don’t trust. Once you’ve done so, rerun the code snippet and you should see this:
Currently, an added security check has been set for scripts. Let’s go back to the command-line interface and continue from where we left off.
If you look closely at the error message that was encountered earlier, a suggestion to set the environment variable for Chocolatey was made. So, let’s set the environment variable, as shown below:
Now we’ve set the variable with the above code snippet, let’s try to install Chocolatey again, as demonstrated here:
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "[System.Net.ServicePointManager]::SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"
If the code snippet above was successful, the command-line interface should look like this:
To see the version of Chocolatey that was installed, you can run the following code snippet:
To execute Chocolatey, all you need to do is to open the command line and run:
choco
To start installing packages, close the CMD and reopen it as an admin once again.
Now, let’s see how Chocolatey can be used to install NVM (Node Version Manager), as shown here:
choco install nvm.portable
Let’s explain this further: to install a package, the keyword choco
is used, then install
, and then the name of the package itself.
NVM (Node Version Manager) is a package used to manage the installation of different versions of Node.js and npm. There are also many more packages that are available to install.
Every installed package is saved in one location and can be found in the following path:
'C:\ProgramData\chocolatey\lib'
To locate a single package, you must add the package name to the lib
path, like this:
'C:\ProgramData\chocolatey\lib\yourPackageName'
Let’s go into the terminal and run the following code snippet:
nvm install lts
The snippet above will install the latest stable version of Node.js and npm. A specific version of Node can also be installed by running the following:
nvm install 16.18.0
To see the list of Node versions that can be selected, run the following:
This is a list of Node versions that have been installed, including the one I am currently using on my Windows machine. Now, let’s see how a specific Node version is selected — take a look here:
nvm use 16.18.0
Run the code snippet to check the version of Node and npm we are currently using:
In the code snippet above, I was able to write my normal JavaScript code right from the Node environment, meaning I can calculate numbers, create loops and functions, and read variables directly from the terminal.
N.B., all that is necessary is to write
node
and hit enter to start up the Node environment on the terminal
To uninstall Node, you just need to specify the Node version to uninstall, as shown here:
nvm uninstall node 16.18.0
To upgrade a package that has been installed using Chocolatey, let’s run the following code snippet:
choco upgrade nvm.portable
The code snippet above will search for the NVM package inside the lib
location. Once it finds it, it will look for a possible stable release and upgrade to the relevant version.
To get all available information about a package, we can run the following code snippet:
choco info nvm.portable
In the response displayed below, you will find pertinent information regarding the package you queried.
To install multiple packages, simply run the following code snippet:
choco install nvm.portable firefox
In the snippet above, you can see that, in the same way multiple files work with npm, it’s also true of Chocolatey — we simply stack each package after the other.
To uninstall a package installed using choco
, run the following code snippet:
choco uninstall nvm.portable
Chocolatey is a great choice as your package manager for your Windows packages. The flexibility of using packages in your projects just the same way you always have means that devs are not required to learn anything new and the barrier to entry is low as a result, which is great!
Deploying a Node-based web app or website is the easy part. Making sure your Node instance continues to serve resources to your app is where things get tougher. If you’re interested in ensuring requests to the backend or third-party services are successful, try LogRocket.
LogRocket is like a DVR for web and mobile apps, recording literally everything that happens while a user interacts with your app. Instead of guessing why problems happen, you can aggregate and report on problematic network requests to quickly understand the root cause.
LogRocket instruments your app to record baseline performance timings such as page load time, time to first byte, slow network requests, and also logs Redux, NgRx, and Vuex actions/state. Start monitoring for free.
Hey there, want to help make our blog better?
Join LogRocket’s Content Advisory Board. You’ll help inform the type of content we create and get access to exclusive meetups, social accreditation, and swag.
Sign up nowToast notifications are messages that appear on the screen to provide feedback to users. When users interact with the user […]
Deno’s features and built-in TypeScript support make it appealing for developers seeking a secure and streamlined development experience.
It can be difficult to choose between types and interfaces in TypeScript, but in this post, you’ll learn which to use in specific use cases.
This tutorial demonstrates how to build, integrate, and customize a bottom navigation bar in a Flutter app.