一文彻底弄懂npm、cnpm、npx、nrm

NPM&CNPM

npm是随同NodeJS一起安装的包管理工具;
因为npm安装插件是从国外服务器下载,受网络影响大,可能出现异常,所以我们乐于分享的淘宝团队干了这事。即cnpm,这是一个完整 npmjs.org 镜像,即淘宝镜像,你可以用此代替官方版本,同步频率目前为 10分钟 。”,

// cnpm下载方式1
npm install -g cnpm
// 使用淘宝镜像方式2来安装cnpm,注意淘宝镜像源已切换新域名
npm install -g cnpm --registry=https://registry.npmmirror.com/

两者之间只是 node 中包管理器的。cnpm是个中国版的npm,是淘宝定制的 cnpm 命令行工具代替默认的 npm

当然我的的npm也可以设置镜像源,npm默认的镜像源为 https://registry.npmjs.org/

// npn设置镜像,手动设置成淘宝镜像,此时npm同cnpm
npm set registry https://registry.npmmirror.com/
// 查看当前镜像源是否设置成功
npm config get registry

那么,问题来了,如果哪天你跑去国外了,淘宝源肯定是用不了的,又要切换回官网源,或者哪天你们公司有自己的私有npm源了,又需要切换成公司的源,这样岂不很麻烦?于是有了NRM

NRM

NRM可以令我们更方便的切换、新增镜像源

  • 安装nrm
npm install -g nrm
  • 查看可选源 星号代表当前使用源
nrm ls
	  npm ---------- https://registry.npmjs.org/
	  yarn --------- https://registry.yarnpkg.com/
	  tencent ------ https://mirrors.cloud.tencent.com/npm/
	  cnpm --------- https://r.cnpmjs.org/
	* taobao ------- https://registry.npmmirror.com/
	  npmMirror ---- https://skimdb.npmjs.com/registry/

应该有不少开发者已经发现,访问淘宝 NPM 已经会自动 301 跳转到 npmmirror.com 新域名,独立注册和备案的域名。
Web 站点:https://npmmirror.com
Registry Endpoint:https://registry.npmmirror.com
随着新的域名已经正式启用,老 http://npm.taobao.org 和 http://registry.npm.taobao.org 域名将于 2022 年 05 月 31 日零时起停止服务。(望周知,转给你的前端小伙伴)

  • 查看当前源
nrm current
  • 切换淘宝镜像源
nrm use taobao
  • 添加源
nrm add <registry> <url>
// 例如nrm add mynpm http://172.168.6.22:8888/npm/
  • 删除源
nrm del <registry>
// 例如nrm del mynpm
  • 测试源速度
nrm test <registry>
例如: nrm test npm 
	npm ------ 1325ms
nrm test taobao
	taobao --- 111ms

NPX

有没有一些场景,我们并不想全局安装管理包,即用即删,最适合强迫症的coder,不用担心长期的污染;
npx 的原理:就是运行的时候,会到node_modules/.bin路径和环境变量$PATH里面,检查命令是否存在。如果不存在即去网络上查找资源,资源使用后立即删除。

例如我们创建react项目,则无需全局安装脚手架,执行一下命令也可以创建react项目,创建后立即删除react脚手架命令;

npx create-react-app my-app
<think>好的,我现在需要回答用户关于如何查看npmcnpm版本及配置的问题。首先,我得确保自己了解用户的具体需求。用户可能刚接触Node.js,想知道如何检查他们安装的npmcnpm是否正确,以及如何查看配置信息。 首先,我应该回忆查看版本的基本命令。通常,命令行中使用 -v 或 --version 参数来查看版本号,这适用于大多数命令行工具。对于npm来说,应该是`npm -v`。但可能用户需要更详细的信息,比如npm的详细版本和配置,这时候可能需要`npm version`或者`npm config list`命令。 接下来是cnpm的问题。cnpm是淘宝的npm镜像,安装方式可能不同,但检查版本的命令应该和npm类似,即`cnpm -v`。不过需要确认用户是否已经安装了cnpm,如果未安装,可能需要先安装,但用户的问题只是查看已安装的信息,所以可能不需要涉及安装步骤。 然后是关于配置信息的查看。npm的配置可以通过`npm config list`来显示当前的配置项,包括registry等信息。用户可能关心镜像源是否设置正确,尤其是是否使用了淘宝镜像或其他源。这时候需要提到如何查看registry配置,可能还需要说明如何修改,但用户的问题仅限于查看,所以暂时不需要涉及修改步骤。 另外,用户可能需要知道全局安装的路径等信息,这时候可以提到`npm prefix -g`来查看全局安装目录。同时,npm list命令可以查看已安装的包,但用户的问题可能更关注版本和配置,而不是已安装的包列表。 需要确保命令的正确性,比如`npm -v`是否正确,是否存在其他参数。同时,检查cnpm是否存在版本命令,可能存在差异。例如,某些情况下,cnpm可能有不同的参数,但通常-v应该适用。 还需要考虑不同操作系统的兼容性,比如在Windows和Linux/macOS下命令是否一致。不过,给出的命令都是基于命令行环境的,应该跨平台适用,只是路径可能不同,但用户只需要查看版本和配置,所以不需要深入路径问题。 可能还需要引用相关的参考资料,比如用户提供的引用中提到了npm install -g node-gyp,但这个问题主要是关于版本和配置的查看,所以引用可能不直接相关。但如果有配置环境变量的部分,可能需要提到,比如在引用[2]中使用了符号链接来配置npm的路径,这可能影响命令的执行,但用户的问题更基础,可能不需要涉及这些。 最后,确保回答结构清晰,分步骤说明,使用代码块展示命令,并给出示例输出,帮助用户理解。同时,生成相关问题,帮助用户进一步学习,比如如何更改镜像源或更新npm版本。 总结步骤: 1. 检查npm版本:npm -v 或 npm --version 2. 检查npm详细信息和配置:npm version 和 npm config list 3. 检查全局安装路径:npm prefix -g 4. 检查cnpm版本:cnpm -v 5. 检查cnpm配置:cnpm config list 6. 示例输出和解释 7. 相关问题,如修改镜像源或更新版本 需要验证每个命令的正确性,可能回忆是否有更详细的命令或参数,例如npm info 或 npm ls,但用户的问题集中在版本和配置,所以保持简洁。 另外,用户提供的引用中有关于node-gyp和Android SDK的安装,但可能和当前问题无关,所以不需要在回答中引用这些,除非配置环境变量影响命令执行,但基础命令应该是通用的,只要npmcnpm在PATH中即可。</think>要查看npmcnpm的版本及配置信息,可按照以下步骤操作: --- ### 1. 查看npm版本 在终端/命令行中运行: ```bash npm -v # 或详细版本信息 npm version ``` 示例输出: ``` 9.6.7 { npm: '9.6.7', node: '18.16.0', ... } ``` --- ### 2. 查看npm配置 查看当前npm的配置项(包括镜像源、缓存路径等): ```bash npm config list ``` 示例输出: ``` ; cli configs registry = "https://registry.npmjs.org/" user-agent = "npm/9.6.7 ..." ... ``` --- ### 3. 查看npm全局安装路径 ```bash npm prefix -g ``` 示例输出: ``` /usr/local/lib/node_modules ``` --- ### 4. 查看cnpm版本 如果已安装cnpm,运行: ```bash cnpm -v ``` 示例输出: ``` 9.0.0 (cnpm@9.0.0) ``` --- ### 5. 查看cnpm配置 ```bash cnpm config list ``` 示例输出: ``` registry = "https://registry.npmmirror.com/" ... ``` --- ### 关键点说明 - **npm默认镜像源**:通常为`https://registry.npmjs.org/`,国内用户可能改用淘宝镜像(`https://registry.npmmirror.com/`)[^3]。 - **cnpm配置**:默认指向淘宝镜像源,可通过`cnpm config get registry`单独验证。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值