How to install pnpm on Mac

Avatar

By squashlabs, Last Updated: Nov. 17, 2024

How to install pnpm on Mac

Overview of pnpm Installation on Mac

pnpm is a fast, disk space-efficient package manager for Node.js. It optimizes the way packages are installed by using symlinks and a content-addressable storage system. This results in faster installations and less disk space usage compared to npm and yarn. Installing pnpm on a Mac requires a few simple steps, including setting up Node.js and Homebrew, two essential tools for managing packages and software on macOS.

Related Article: How to Choose Between Yarn and pnpm

Prerequisites for Installation

Before installing pnpm, ensure you have Node.js and Homebrew installed on your Mac. Node.js is required because pnpm is a package manager for Node.js applications. Homebrew is a popular package manager for macOS, allowing users to install software easily from the command line.

To check if you have Node.js and Homebrew installed, you can run the following commands in your terminal:

node -v

brew -v

If these commands return version numbers, you have them installed. If not, follow the upcoming sections to install them.

Installing Node.js on Mac

The first step in installing pnpm is to have Node.js available. There are several methods for installing Node.js, but using Homebrew is one of the easiest. To install Node.js via Homebrew, open your terminal and run the following command:

brew install node

This command will download and install the latest version of Node.js along with npm, the default package manager that comes with Node.js. After the installation is complete, you can verify it by running:

node -v

This command should return the version number of Node.js, confirming that the installation was successful.

Installing Homebrew on Mac

If Homebrew is not installed on your Mac, you can easily set it up. Homebrew simplifies the installation of software on macOS. To install Homebrew, open your terminal and run the following command:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

This command fetches the Homebrew installation script from the internet and executes it. After the installation is complete, you can check if Homebrew is working correctly by running:

brew -v

This should display the version of Homebrew installed on your system.

Related Article: How To Uninstall Packages Using Pnpm

Installing pnpm Using Homebrew

With Node.js and Homebrew installed, you can proceed to install pnpm. The installation process is straightforward when using Homebrew. Run the following command in your terminal:

brew install pnpm

This command will download and install pnpm. After the installation, you can verify that pnpm is installed correctly by checking its version:

pnpm -v

This command should output the version of pnpm, confirming that it is ready to use.

Installing pnpm via npm

Alternatively, you can install pnpm using npm, which comes bundled with Node.js. This method is also simple. Open your terminal and run:

npm install -g pnpm

The -g flag indicates that you want to install pnpm globally, making it available for use in any project. After the installation completes, you can check the version of pnpm installed:

pnpm -v

This ensures that pnpm is functioning as expected.

Verifying pnpm Installation

Verification of the pnpm installation can be accomplished through a simple command. By entering the following in your terminal:

pnpm -v

You should see the version number of pnpm. If you encounter any issues at this stage, it may be due to incorrect installation or a missing dependency. Ensure that Node.js and npm are working correctly as they are prerequisites for pnpm.

Using pnpm for Dependency Management

pnpm offers several benefits for managing project dependencies. It uses a unique approach to handle package installations, which can help save space and improve speed. To initialize a new project with pnpm, navigate to your project directory in the terminal and run:

pnpm init

This command sets up a new package.json file, which is a manifest for your project. To install a package, simply use the following syntax:

pnpm add <package-name>

For example, to add Express, a popular web framework for Node.js, run:

pnpm add express

If you need to install a package as a development dependency, use the -D flag:

pnpm add <package-name> -D

This command adds the specified package to the devDependencies section of your package.json file. Additionally, pnpm provides commands to remove and update packages, such as:

pnpm remove <package-name>

and

pnpm update

These commands offer a convenient way to manage the dependencies of your projects.

Related Article: How to Use pnpm Patch to Modify Dependencies

Uninstalling pnpm from Mac

If you need to uninstall pnpm for any reason, the process is simple. Depending on how you installed pnpm, you will use either Homebrew or npm. To remove pnpm using Homebrew, run:

brew uninstall pnpm

If you installed pnpm via npm, use the following command:

npm uninstall -g pnpm

Both commands will remove pnpm from your system. After uninstalling, you can verify that pnpm has been removed by checking its version again:

pnpm -v

If the command returns an error indicating that pnpm is not found, it confirms that the uninstallation was successful.

Comparing npm and pnpm

When comparing npm and pnpm, the key differences lie in performance and disk space usage. pnpm uses a unique approach to package management. Instead of installing multiple copies of the same package in different projects, pnpm stores a single copy in a central location and creates symlinks to that package in your project. This results in significant space savings and quicker installations.

Another notable difference is the speed of installation. pnpm typically performs faster installations than npm due to its efficient handling of dependencies and caching mechanisms. This makes pnpm a preferable choice for larger projects with many dependencies.

Additionally, pnpm enforces stricter dependency resolution, which can prevent issues that arise due to mismatched package versions. This leads to a more consistent environment across different machines.

You May Also Like

How to Use pnpm Overrides for Dependency Management

This guide provides a practical look at using pnpm overrides for dependency management in projects. It covers essential topics such as configuring ov… read more

How to use pnpm run -r for project management

This guide provides insights on using the pnpm run -r command for project management. It covers the essential aspects of executing scripts across mul… read more

How To Clear Pnpm Cache

Managing the pnpm cache is essential for maintaining optimal performance in your projects. This guide provides clear steps to help you clear the cach… read more

How To Add A Dev Dependency With Pnpm

This guide provides a clear path for adding development dependencies using pnpm. It covers essential concepts, such as the difference between dev dep… read more

How To Set Pnpm Version In Your Project

Setting the pnpm version in your project is crucial for maintaining consistency across your development environment. This guide provides clear steps … read more

How to Handle Multiple Versions of pnpm

Managing multiple versions of pnpm can be essential for maintaining compatibility across different projects. This guide provides practical steps on h… read more

How To Uninstall Pnpm

This guide provides a clear process for uninstalling pnpm from your system. It covers everything from prerequisites to final checks after removal. Y… read more

How to Release pnpm Version Updates

This guide provides a clear path for releasing new version updates for pnpm. It covers essential topics, including semantic versioning, release sched… read more

How to Compare pnpm and Yarn for Package Management

This comparison focuses on pnpm and Yarn, two popular tools for managing JavaScript packages. Both have unique features and strengths that can impact… read more

How to Use pnpm Filter for Package Management

The pnpm filter command is a useful tool for managing packages in your projects. It allows you to perform various operations on specific packages or … read more