前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用nrm和nvm管理你的npm源和node版本

使用nrm和nvm管理你的npm源和node版本

作者头像
Careteen
发布2022-02-14 16:13:37
1.3K0
发布2022-02-14 16:13:37
举报
文章被收录于专栏:源码揭秘源码揭秘

目录

使用nrm管理你的npm-registry

npm源在国外,对于国内的开发人员来说,下载包的速度经常很慢,而且npm还经常挂。

可能在之前我们会通过如下做法将源指向淘宝源,然后使用cnpm操作,也可以使用的很愉快。

代码语言:javascript
复制
npm install -g cnpm --registry=https://registry.npm.taobao.org

我们也可以通过工具nrm去切换npm源,它提供如下多个源供我们选择,更推荐选择淘宝源。

下面来简单说下安装和常用命令

  • 全局安装 npm install -g nrm
  • 测试下各个源的速度 nrm test

可看出taobao是最快的

  • 查看当前正在使用的源 nrm current
  • 使用某个源 # 切换到淘宝源 nrm use taobao
  • 然后在对应项目正常使用npm即可 $yourRepo npm install
  • 查看更多指令的使用帮助 nrm help

比较有意思的说法是nrm要取代npm???可是nrm的安装在macwindows下是依靠npm的。噗:)

使用nvm管理你的node版本

cnpm源进行管理可以让我们平时安装包时更快。同样的我们平时也可能会有切换node版本的场景。这个时候可以使用nvm对其进行管理。

可能有时在使用一些基于Node低版本封装的框架时我需要v0.10.32,但大多数时候都会使用较新版Node,此时也希望做一下版本管理。

  • 全局安装
代码语言:javascript
复制
npm install -g nvm
  • 查看nvm版本
代码语言:javascript
复制
nvm -v
  • 下载最新的 node 版本
代码语言:javascript
复制
nvm install latest
  • 查看远程已经存在的版本
代码语言:javascript
复制
# 可能会很慢,请耐心等待
nvm ls-remote
  • 下载指定版本nodejs
代码语言:javascript
复制
nvm install v8.6.0
# 默认是64位,32位需指定
nvm install v8.6.0 32
  • 当前使用版本
代码语言:javascript
复制
nvm current
  • 使用指定版本
代码语言:javascript
复制
nvm use v8.6.0
  • 查看已经安装的nodejs版本
代码语言:javascript
复制
nvm list
# or
nvm ls
  • 查看nodejs版本
代码语言:javascript
复制
node -v

发布个人专属的npm包

对于jser来说,每天都会和大量的npm包打交道,那怎么编写个人专属的包并发布到npm官网上呢?

可前往一个JS第三方库的五脏六腑查看细节,提供了JS第三方库脚手架的项目,可以拿来即用。这里只做发布npm的讲解。

发布

当你已经完成一个npm包的开发后,我们需要一个npm账号,可前往npm官网注册。

然后登陆账号

代码语言:javascript
复制
npm login

如果输入账号密码登录报以下错误

那说明你现在的npm源不是官网,如果使用上面说到的使用nrm管理你的npm-registry,我们需要先切换npm源

代码语言:javascript
复制
# 切换
nrm use npm
# 查看确保当前源为npm
nrm current

如下登录成功后

进行发布

代码语言:javascript
复制
npm publish

当然也可以撤销一个自己的npm包

代码语言:javascript
复制
# --force参数意为强制
npm unpulish --force
更新

package.json文件的version字段管理包的版本。

  • a中的数字表示大版本号。一般在项目重构后更新时去递增。
  • b中的数字表示小版本号。一般是新增API后更新时去递增。
  • c中的数字表示小版本号中打补丁。一般是修复当前版本的bug后去递增。

递增管理版本号,我们不可能傻到每次更新都手动修改这个字段。

可以通过npm version xxx进行自动递增。

如上我们可以通过三个箭头指向的单词进行版本更新

代码语言:javascript
复制
# 更新大版本 v1.0.0 -> v2.0.0
npm version major
# 更新小版本 v2.0.0 -> v2.1.0
npm version minor
# 打补丁 v2.1.0 -> v2.1.1
npm version patch

然后再发布

代码语言:javascript
复制
npm publish

另外提一下package.json中版本号的前缀~^的区别。

代码语言:javascript
复制
  "@careteen/type": "~0.1.2",
  "@careteen/match": "^0.2.0",
  • 波浪符号~:自动更新当前minor的最新版本。即会更新到0.1.x最新版本。
  • 插入符号^:自动更新当前major的最新版本。即会更新到0.x.x最新版本。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-12-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 目录
  • 使用nrm管理你的npm-registry
  • 使用nvm管理你的node版本
  • 发布个人专属的npm包
    • 发布
      • 更新
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档