Cannot read properties of null (reading 'pickAlgorithm')

avatar
Borislav Hadzhiev

Last updated: Apr 4, 2024
3 min

banner

# Cannot read properties of null (reading 'pickAlgorithm')

To solve the NPM error "Cannot read properties of null (reading 'pickAlgorithm')", run the npm cache clear --force and rerun your npm install command. If the error persists, update npm to the latest version.

shell
npm ERR! Cannot read properties of null (reading 'pickAlgorithm') npm ERR! A complete log of this run can be found in: npm ERR! npm-cache\_logs\2022-11-23T09_02_41_216Z-debug.log

The first thing you should try is to clear the cache using the following command.

shell
npm cache clear --force

npm cache clear force

You can rerun your npm install command after the cache has been cleared.

shell
npm install

You can use the npm cache verify command if you need to verify the contents of the cache have been cleared.

shell
npm cache verify

npm cache verify

The npm cache verify command verifies the contents and the integrity of the cache folder.

If the error persists, try to reset your NPM registry.

shell
npm cache clear --force npm config set registry https://registry.npmjs.org/

# Delete your node_modules and reinstall your dependencies

If the error persists, try to delete your node_modules and package-lock.json and rerun npm install.

shell
# ๐Ÿ‘‡๏ธ (Windows) delete node_modules and package-lock.json rd /s /q "node_modules" del package-lock.json # ๐Ÿ‘‡๏ธ (macOS/Linux) delete node_modules and package-lock.json rm -rf node_modules rm -f package-lock.json # ๐Ÿ‘‡๏ธ clean your npm cache npm cache clean --force # ๐Ÿ‘‡๏ธ install packages npm install

If you still get the error when installing packages, try to run the npm update command.

shell
npm update

The npm update command updates all packages to the latest version and installs missing packages.

# Try to upgrade your version of NPM

Another thing you can try is to upgrade your version of NPM.

shell
npm install -g npm@latest # ๐Ÿ‘‡๏ธ If you get a permissions error on macOS / Linux sudo npm install -g npm@latest

If you get a permissions error on Windows, open CMD as an administrator and rerun the command.

To open CMD as an administrator:

  1. Click on the Search bar and type CMD.

  2. Right-click on the Command Prompt application and click "Run as administrator".

run cmd as administrator

  1. Rerun the command.
shell
npm install -g npm@latest npm install -g npm@latest --force

# Try updating your NPM packages

The npm audit fix command scans your project for vulnerabilities and automatically installs compatible updates to vulnerable dependencies.

The npm audit fix --force command installs major updates to top-level dependencies, which might introduce breaking changes to your project if you rely on older package versions.

shell
npm install --legacy-peer-deps npm audit fix --force

npm audit fix force

Try to restart your terminal and development server after running the commands.

If the error persists, try running the npm update command.

shell
npm update

The --legacy-peer-deps flag ignores all peer dependencies when installing (in the style of npm version 4 through 6).

Whereas, the --force flag forces NPM to fetch remote resources even if a local copy exists on disk.

# Try to run your npm install command with the --legacy-peer-deps flag

If none of the suggestions helped, try to run your npm install command with the --legacy-peer-deps flag.

shell
npm install --legacy-peer-deps

npm install all legacy peer deps

If you got the error when installing a specific module, add the --legacy-peer-deps flag at the end of the command.

shell
npm install react --legacy-peer-deps

Make sure to replace react with the name of the module you're trying to install.

npm install legacy peer deps

Starting with NPM v7, NPM installs peerDependencies by default, which means that if you already have a peer dependency of the module installed, but not one of the specified by the module versions, NPM throws an error.

The --legacy-peer-deps flag tells NPM to ignore peer dependencies and to proceed with the installation anyway.

This was the default behavior in NPM versions 4 through 6.

In other words, NPM modules name specific versions of their peerDependencies.

If you have a different version of a peer dependency package installed, an error is raised unless you set the --legacy-peer-deps flag.

I wrote a book in which I share everything I know about how to become a better, more efficient programmer.
book cover
You can use the search field on my Home Page to filter through all of my articles.

Copyright ยฉ 2024 Borislav Hadzhiev