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. Codeforces Round #646 (Div. 2) E. Tree Shuffling(树上dp)

    题目链接:https://codeforces.com/contest/1363/problem/E 题意 有一棵 $n$ 个结点,根为结点 $1$ 的树,每个结点有一个选取代价 $a_i$,当前 $ ...

  2. Codeforces Round #666 (Div. 2) Power Sequence、Multiples of Length 思维

    题目链接:Power Sequence 题意: 给你n个数vi,你可以对这个序列进行两种操作 1.可以改变其中任意个vi的位置,无成本 2.可以对vi进行加1或减1,每次操作成本为1 如果操作之后的v ...

  3. lca讲解 && 例题 HDU - 4547

    一. 最普通的找树中两个点x,y最近公共祖先: 在进行lca之前我们要先对这一颗树中的每一个点进行一个编号,像下图一样.这个编号就是tarjan算法中的dfn[]数组 这样的话我们可以在跑tarjan ...

  4. HDU 2897 邂逅明下(巴士变形)

    题意: 给你n个石子,你最少取p个,最多取q个,问谁能赢 题解: 变形版的巴什博弈,当n>=q+1的时候,那么还是以q+1为一组拿走,剩下一个(n%(q+1)),这个时候如果它小于p的话都直接输 ...

  5. Panasonic Programming Contest (AtCoder Beginner Contest 186) E.Throne (数学,线性同余方程)

    题意:有围着一圈的\(N\)把椅子,其中有一个是冠位,你在离冠位顺时针\(S\)把椅子的位置,你每次可以顺时针走\(K\)个椅子,问最少要走多少次才能登上冠位,或者走不到冠位. 题解:这题和洛谷那个青 ...

  6. jenkins:实现Jenkinsfile与Json的转换

    实现Jenkinsfile与Json的转换 目录 实现Jenkinsfile与Json的转换 方法1:使用现有的jenkins插件 参考 方法2:解析原生的jenkinsfile文件 参考 最近在做个 ...

  7. word2vector代码实践

    引子 在上次的 <word2vector论文笔记>中大致介绍了两种词向量训练方法的原理及优劣,这篇咱们以skip-gram算法为例来代码实践一把. 当前教程参考:A Word2Vec Ke ...

  8. Python——Django框架——django-simple-captcha(验证码)

    一.引用 包 pip install django-simple-captcha 二.将captcha加入setting的 INSTALLED_APPS 三.运行python manager.py m ...

  9. kubernetes进阶(三)服务发现-coredns

    服务发现,说白了就是服务(应用)之间相互定位的过程. 服务发现需要解决的问题: 1.服务动态性强--容器在k8s中ip变化或迁移 2.更新发布频繁--版本迭代快 3.支持自动伸缩--大促或流量高峰 我 ...

  10. BZOJ1001 狼抓兔子(网络流转最短路:对偶图)

    题意: 给一个如图形式的\(n*m\)的方格,从左上走到右下,给出边权,问分成两块所需的最小代价.\(n,m\leq1000\). 思路: 显然是个最小割,但是\(O(n^2m)\)的复杂度很高,虽然 ...