Learning npm and apt package manager commands at once
You cannot be a professional developer without an encounter with Unix/Linux systems. Linux is the preferred operating system of choice for cloud machines. SSH
is a magical technology to control the cloud machine without making a trip to the data center. All said but how to install and manage software on the Linux operating systems? The answer is Package Managers.
Why are you comparing npm and APT?
I am comparing npm
with apt
because both implement the same interface called Package Managers
. Might have sounded more Javaish but the point is that both npm and apt are package managers.
Familiarity with npm
makes it easy to learn apt
. Another easy way would be to compare the app store with apt
however we do not execute commands on the app store. But the concept is the same, you can look up software, install it, upgrade it or even remove it.
What are the operations performed by package managers?
The package manager is part of a package called Package management system
. The package management system has a bunch of tools to perform operations on the software like maintaining a registry of available software, performing a lookup when searched for, notifying or maintaining versions of the software. For the node platform, we have npm
, for python, it's pip
, etc. Depending on the Linux OS the package managers vary.
What about GUI based package managers?
I enjoy using GUI based package managers like synaptic package manager on my laptop but never on cloud computing because they do not have GUI. It's just SSH
.
Package managers do CRUD?
CRUD stands for Create Read Update Delete operations in general. Package managers help you similar, in place of creating we have install
.
To create a package
npm - npm init
apt - no equivalent command exists
To install a package(s)
npm - npm install
apt - apt i
Multiple packages are separated with a space like `apt i pack1 pack2.
To install a package with a specific version. In npm, we use the same install command to reinstall the package. In apt, we pass --reinstall
.
npm - npm install packageName@1.1.0
apt - apt i packageName=1.1.0
To remove a package
npm - npm remove packageName
apt - apt remove packageName
To update a package
npm - npm update packageName
apt - apt update packageName
To upgrade a package (a breaking release can be considered an upgrade. Bugfixes are considered an update).
npm - npm upgrade packageName
apt - apt upgrade packageName
To upgrade all packages, npm upgrade
or apt upgrade
.
To remove unwanted packages along with configuration files
npm - npm purge packageName
apt - apt purge packageName
To list the existing packages
npm - npm list -g --depth=0
apt - apt list
How to clear the cache
The cache is the area where the packages are downloaded. We have one location where the packages are cached per user in an OS.
npm - npm cache clear
apt - apt clean
Are there other things to know
As a publisher of not so popular npm package send JS errors to service, I was looking for equivalents of npm publish
, npm login
however I did not find an equivalent in apt
.