本文讲述了一个苦逼程序员在使用NPM的时候突然来了一记nmp login天雷,然后一番折腾之后,终究还是没有解决npm的问题,最终使用cnpm完美解决的故事。
1)什么是npm、cnpm两者之间的区别?->NodeJs依赖管理
2)如何使用npm并配置国内镜像源
3)如何使用cnpm并配置国内镜像源
4)核心操作
# 1)安装cnpm-已安装可跳过
- 下载安装cnpm
npm install -g cnpm --registry=https://registry.npmmirror.com
- 使用cnpm下载
cnpm install typescript
# 2)安装pnpm-已安装可跳过
- 下载安装pnpm
npm install -g pnpm --registry=https://registry.npmmirror.com
- 使用cnpm下载
pnpm install typescript
# 3)如果需要更新源
npm config set registry https://registry.npm.taobao.org/
npm config set registry https://registry.npmmirror.com/
npm config set registry https://registry.npmjs.org/
npm
是 Node.js 的包管理器(Node Package Manager),它随着 Node.js 一起安装,是 JavaScript
生态系统中管理项目依赖和共享代码的重要工具。其核心功能与作用体现在以下多个方面:
npm
可以帮助开发者方便地安装、更新和删除项目所依赖的软件包。例如,在开发一个基于 Reactnpm install react react-dom
命令来安装 React 和 React DOM 这两个核心库。npm
支持语义化版本号(SemVer),可以精确指定项目依赖的软件包版本。在 package.json
"react": "^18.2.0"
这样的版本声明,其中 ^
表示兼容该主版本号下的最新版本。npm
允许在 package.json
中定义脚本,通过 npm run
"start": "webpack-dev-server --open"
npm run start
来启动开发服务器。npm install
命令来安装使用你的包。cnpm
是淘宝团队基于 npm
定制的一个镜像版本的包管理器,其目的主要是为了解决国内开发者在使用 npm
安装依赖包时网络速度慢、不稳定的问题。
cnpm
使用了淘宝的镜像源(https://registry.npmmirror.com ),该镜像源会定期同步 npmnpm install -g cnpm --registry=https://registry.npmmirror.com
命令来全局安装 cnpm
npm
一样使用 cnpm
来管理项目依赖。npm
兼容,但由于是基于 npm
npm
安装的版本不完全一致的情况,从而导致一些兼容性问题。npm
cnpm
npm
多。npm
来编写命令示例的。npm
基本相同,但在一些企业级项目或者对依赖管理要求严格的场景中,可能会优先选择 npm
cnpm
是一个不错的选择。在前端开发中,npm
(Node Package Manager)是 Node.js
的官方包管理工具,用于安装、共享和管理项目依赖。本文将详细介绍如何安装 npm
、更换镜像源(以淘宝镜像为例),以及解决常见问题。
npm
通常会随 Node.js
一起安装,因此我们只需安装 Node.js
即可。
下载安装包:
运行安装程序:
验证安装:
Node.js
和 npm
是否安装成功:node -v
npm -v
Node.js
和 npm
的版本号,说明安装成功。使用安装包安装:
使用 Homebrew 安装:
Node.js
:brew install node
验证安装:
Node.js
和 npm
是否安装成功:node -v
npm -v
添加 Node.js 源:
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
18.x
是 Node.js 的版本号,你可以根据需要选择其他版本。安装 Node.js 和 npm:
sudo apt-get install -y nodejs
验证安装:
node -v
npm -v
由于网络原因,直接使用官方 npm
镜像源可能会导致安装速度较慢。我们可以将镜像源更换为淘宝镜像(现称为中国镜像,地址为 https://registry.npmmirror.com
)。
如果你只需要临时使用淘宝镜像源来安装某个包,可以在安装命令中指定镜像源:
npm install <package-name> --registry=https://registry.npmmirror.com
替换为你要安装的包名。如果你希望每次使用 npm 都默认使用淘宝镜像源,可以使用以下命令进行配置:
npm config set registry https://registry.npmmirror.com
npm config get registry
https://registry.npmmirror.com
,则说明镜像源已经成功更换。如果你想恢复到 npm 的默认镜像源,可以使用以下命令:
npm config set registry https://registry.npmjs.org
除了直接使用 npm config
命令来管理镜像源,你还可以使用 nrm
(npm registry manager)工具来更方便地切换镜像源。
安装 nrm:
npm install -g nrm
查看可用镜像源:
nrm ls
npmmirror
)。切换镜像源:
nrm use npmmirror
测试镜像源速度:
nrm test npmmirror
npm login
直接跳转到 Sign in to CNPMhttps://registry.npmmirror.com/
或 https://r.cnpmjs.org/
)。npm config set registry http://registry.npmjs.org/
http
地址,而不是 https
地址。https
地址时报错 request to https://registry.npmjs.org/-/v1/login failed, reason: connect ETIMEDOUT
https
地址可能在国内网络环境下无法正常访问。http
地址:npm config set registry http://registry.npmjs.org/
Unexpected token ‘.’
nvm
(Node Version Manager)版本过低,导致 Node.js
版本也不兼容。Node.js
版本:nvm uninstall --all
nvm
:
Node.js
安装目录中运行 unins000.exe
。nvm
和 Node.js
。https://registry.npmmirror.com
),或者使用 nrm
测试并选择最快的镜像源。cnpm
是淘宝团队基于 npm
定制的一个包管理工具,其镜像源默认指向淘宝镜像,方便国内开发者使用。以下是安装 cnpm
的步骤:
在命令行工具(如 Windows 的命令提示符、macOS 或 Linux 的终端)中执行以下命令来全局安装 cnpm
:
npm install -g cnpm --registry=https://registry.npmmirror.com
上述命令中,-g
表示全局安装,--registry=https://registry.npmmirror.com
是指定在安装 cnpm
时使用淘宝镜像源(现称中国镜像),以加快安装速度。
安装完成后,可以通过查看 cnpm
版本号来验证是否安装成功,执行以下命令:
cnpm -v
如果能正确显示 cnpm
的版本信息,说明安装成功。
一般情况下,安装 cnpm
后它默认使用的就是淘宝镜像(https://registry.npmmirror.com
)。但为了确保万无一失,你可以通过以下方式进行确认和更改:
使用以下命令查看 cnpm
当前使用的镜像源:
cnpm config get registry
如果输出结果是 https://registry.npmmirror.com
,则表示已经使用淘宝镜像源。
若查看的镜像源不是淘宝镜像源,可以使用以下命令将其设置为淘宝镜像源:
cnpm config set registry https://registry.npmmirror.com
设置完成后,再次使用 cnpm config get registry
命令进行验证,确保输出为 https://registry.npmmirror.com
。