Home  >  Article  >  Web Front-end  >  What to do if there is an error when installing nodejs cnpm

What to do if there is an error when installing nodejs cnpm

PHPz
PHPzOriginal
2023-04-26 09:09:242130browse

In the process of using Node.js, you often need to install and use the npm package management tool. However, when installing and using cnpm (Taobao npm mirror), you may encounter various problems. The most common problems are installation failures or slow download speeds. This article discusses solutions in this situation.

  1. Error when installing cnpm

Sometimes, when using npm to install cnpm, an error will be reported, as follows:

$ npm install -g cnpm --registry=https://registry.npm.taobao.org

The error content may be as follows:

npm ERR! code EACCES
npm ERR! syscall access
npm ERR! path /usr/local/lib/node_modules
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
npm ERR! [Error: EACCES: permission denied, access '/usr/local/lib/node_modules'] {
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'access',
npm ERR!   path: '/usr/local/lib/node_modules'
npm ERR! }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/username/.npm/_logs/2021-01-19T05_41_09_764Z-debug.log

This situation is usually caused by permission issues. We can try to use sudo to run the command, as follows:

$ sudo npm install -g cnpm --registry=https://registry.npm.taobao.org

If an error still occurs, you can manually modify the user permissions of the directory, for example:

$ sudo chown -R $(whoami) /usr/local/lib/node_modules
  1. The installation speed of cnpm is too slow

When installing and using npm, you will encounter the problem of slow download speed. This is because npm uses foreign sources by default, and domestic access to this source is very slow, so mirror sources need to be used to speed up downloads. Here are some commonly used methods.

2.1 Using Taobao mirror (cnpm)

Taobao provides an npm mirror source named cnpm. The specific usage is as follows:

$ npm install -g cnpm --registry=https://registry.npm.taobao.org

After installation, you can use cnpm replaces npm, for example:

$ cnpm install express

2.2 Use nrm

nrm can be used to manage and switch multiple npm sources. After installing nrm, we only need to execute the following command to switch npm sources:

$ npm install -g nrm
$ nrm use taobao

We can also list the available sources, for example:

$ nrm ls
  npm --- https://registry.npmjs.org/
* cnpm -- https://r.cnpmjs.org/
  taobao - https://registry.npm.taobao.org/
  nj --- https://registry.nodejitsu.com/
  npmMirror  https://skimdb.npmjs.com/registry/
  edunpm - http://registry.enpmjs.org/

2.3 Use yarn

yarn is another package management tool developed by Facebook that can replace npm. When using yarn, you can use the query parameter to specify the source. For example, when using Taobao source, you can do this:

$ yarn install --registry=https://registry.npm.taobao.org

In addition to the above methods, you can also use mirror sources such as cnpmjs and cnpmjs.org. However, it should be noted that different sources have different limitations, so you need to understand it before using it, or try the effect.

The above is the detailed content of What to do if there is an error when installing nodejs cnpm. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn