Node更丝滑的打开方式

1. 使用背景

最近前端的一个项目,使用gulp作为工程化。在运行过程中出现如下错误 gulp[3192]: src\node_contextify.cc:628: Assertion args[1]->IsString()' failed.` 经过搜索得到回复表明,是当前电脑安装的Node版本(14.x)太高了需要降级到(10.x)版本。需要卸载再安装对应的版本,但是当我这个工程不再使用,想切回高的版本又得卸载再安装,很是麻烦。当时就继续深挖了一下,居然有人开发node版本管理这样的小工具。经过下载安装使用,果然很给力。

2. nvm管理node版本

首先从[https://github.com/coreybutler/nvm-windows/releases]下载nvm工具。官方提供了安装版已经免安装版。建议使用安装版简化手动配置环境变量过程。安装nvm过程之前,请确保当前电脑中经卸载了已安装的Node.根据提示一步步操作即可。根据我测试结果,有以下两个建议

  • nvm安装路径最好修改一下,不使用默认地址
  • nodejs链接文件使用默认值

安装完成后,首先到你安装目录中找到 settings.txt 文件,在该文件中添加以下两行配置

//公众号:小院不小 vx:464884492
node_mirror: https://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/

接下来,运行一个命令窗口。输入命令nvm version检查是否安装成功。如果没有显示版本号,请检查:

  • 环境变量中是否存在NVM_HOME NVM_SYMLINK
  • 检查PATH变量中是否添加nvm的运行路径

一切就绪以后,就可以开始安装任意版本的Node。我们已安装node10为示范

  1. 输入命令nvm install 10,工具会自动给下载nodejs 10.0.0版本
  2. 输入命令nvm list,工具会显示当前系统中所有安装的nodejs版本
  3. 输入命令nvm use 10,工具自动将当前系统node版本切换的10.0.0版本
  4. 输入命令node -v,检测node是否切换成功

重复以上几个步骤,我们就可以实现node版本的任意切换

3. nrm管理npm仓库地址

有node的地方就有npm。由于npm标准仓库地址访问不稳定,所以我们需要切换到国内的镜像地址。在没有使用nrm工具前,我们通过如下命令实现

 rem 公众号:小院不小 vx:464884492
npm config set registry http://registry.npm.taobao.org/

如果公司存在npm私服地址,在多个地址间切换很容易出错,所以有必要引入nrm来管理所有的镜像地址。在安装nrm之前,有必要将npm全局路径自定到我们容易找到路径下。依次在命令窗口执行以下两条命令

rem 公众号:小院不小 vx:464884492
npm config set cache "D:\nodejs\npm-cache"
npm config set prefix "D:\nodejs\npm_global"

接下来输入命令npm install -g nrm安装nrm.安装完成后输入命令nrm ls,得到如下结果

  npm -------- https://registry.npmjs.org/
yarn ------- https://registry.yarnpkg.com/
cnpm ------- http://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/

可以看到nrm已经将常用的镜像地址存储起来了,现在只需通过命令nrm use taobao就可以将npm镜像地址切换到淘宝的镜像库

如果公司搭建了npm私服可以,假设私服地址为 http://192.168.225.19:4874/,可以依次执行以下命令切换到公司私服地址

rem 公众号:小院不小 vx:464884492
nrm add company http://192.168.225.19:4874/
nrm use company

4. 总结

以上两个工具,很轻巧也很方便。是前端人员以及node开发必备佳品。想了解更多干货请关注公众号[小院不小],这里可以学习还可以玩游戏[地心侠士]

Node更丝滑的打开方式的更多相关文章

  1. 让你的app体验更丝滑的11种方法!冲击手机应用榜单Top3指日可待

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由WeTest质量开放平台团队发表于云+社区专栏 一款app除了要有令人惊叹的功能和令人发指交互之外,在性能上也应该追求丝滑的要求,这样 ...

  2. eladmin-plus V2.0.0 发布,单表链式调用更丝滑

    一.项目简介 eladmin的mybatis-plus版本,单表使用链式调用,代码更简洁,调用更便捷.目前更新到2021年7月.项目基于 Spring Boot 2.4.2 . Mybatis-plu ...

  3. 一分钟小知识:scroll-behavior 让你的页面导航滚动更丝滑~

    中午在[掘金]潜水摸鱼,看到这一个沸点,个人已经撸出特效: 下面放上  作者 的 掘金 地址  #掘金沸点# https://juejin.im/pin/5d649eaaf265da19752533d ...

  4. Java8 Stream —— 更丝滑的集合操作方式

    一.概念 Stream是一种可供流式操作的数据视图有些类似数据库中视图的概念它不改变源数据集合如果对其进行改变的操作它会返回一个新的数据集合. 总的来讲它有三大特性:在之后我们会对照着详细说明     ...

  5. 『CDN』让你的网站访问起来更加柔顺丝滑

    我是风筝,公众号「古时的风筝」,一个兼具深度与广度的程序员鼓励师,一个本打算写诗却写起了代码的田园码农! 文章会收录在 JavaNewBee 中,更有 Java 后端知识图谱,从小白到大牛要走的路都在 ...

  6. HMS Core Discovery第14期直播预告~纵享丝滑剪辑,释放视频创作力

    [导读] 拍摄.导入.特效.卡点.BGM-几步简单的操作,我们便可将生活的瞬间用视频记录与分享.应用前沿AI技术,提供一站式视频处理能力,帮助开发者们构建更智能.更易用.更专业的视频剪辑软件,打造视频 ...

  7. 使用 CSS3 打造一组质感细腻丝滑的按钮

    CSS3 引入了众多供功能强大的新特性,让设计和开发人员能够轻松的创作出各种精美的界面效果.下面这些发出闪亮光泽的按钮,很漂亮吧?把鼠标悬停在按钮上,还有动感的光泽移动效果. 温馨提示:为保证最佳的效 ...

  8. Win7更改默认打开方式失败

    问题描述:选定某个给定文件,然后鼠标右键选择打开方式,在浏览后选到自己期望使用的应用程序,然后单击确定后,却发现没有任何效果.原文件仍然保持原来的打开方式. 问题原因:更好程序或者升级程序时安装路径发 ...

  9. 更便捷的css处理方式-postcss

    更便捷的css处理方式-PostCSS 一般来说介绍一个东西都是要从是什么,怎么用的顺序来讲.我感觉这样很容易让大家失去兴趣,先看一下postcss能做点什么,有兴趣的话再往下看,否则可能没有耐心看下 ...

随机推荐

  1. 牛客网暑期ACM多校训练营(第二场)carpet

    传送门:carpet 题意 有一个n*m的地毯,aij表示地毯每格的元素,bij表示地毯每格的价格,要求选取一块价格最大值最小的地毯,并且这块地毯无限铺开之后,原地毯是其子矩阵. 题解 先找到这个矩阵 ...

  2. hdu3938 Portal

    Problem Description ZLGG found a magic theory that the bigger banana the bigger banana peel .This im ...

  3. Detect the Virus ZOJ - 3430 AC自动机

    One day, Nobita found that his computer is extremely slow. After several hours' work, he finally fou ...

  4. 再记一次 应用服务器 CPU 暴高事故分析

    一:背景 1. 前言 大概有2个月没写博客了,不是不想写哈

  5. 国产网络损伤仪SandStorm -- 只需要上下拖拽能调整链路规则顺序

    国产网络损伤仪SandStorm(弱网络测试)可以模拟出带宽限制.时延.时延抖动.丢包.乱序.重复报文.误码.拥塞等网络状况,在实验室条件下准确可靠地测试出网络应用在真实网络环境中的性能,以帮助应用程 ...

  6. Leetcode(11)-盛最多水的容器

    给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) .画 n 条垂直线,使得垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0).找出其中的两条线,使得 ...

  7. Caffe入门:对于抽象概念的图解分析

    Caffe的几个重要文件 用了这么久Caffe都没好好写过一篇新手入门的博客,最近应实验室小师妹要求,打算写一篇简单.快熟入门的科普文. 利用Caffe进行深度神经网络训练第一步需要搞懂几个重要文件: ...

  8. docker安装CentOS7及JNI使用相关过程记录

    docker pull centos:centos7(拉取镜像) docker run -itd --name centos-test centos:centos7 (运行容器) docker exe ...

  9. Node.js Backend Developer

    Node.js Backend Developer refs xgqfrms 2012-2020 www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!

  10. Headless Chrome Node API

    puppeteer Headless Chrome Node API https://github.com/GoogleChrome/puppeteer https://pptr.dev/ PWA h ...