nvm安装node流程及报错解决
第一步:下载NVM下载nvm并解压
nvm-window 下载地址:https://github.com/coreybutler/nvm-windows/releases
下载文件,然后解压得到nvm-noinstall文件夹,重命名为nvm(名字随意)。
这里有四个可下载的文件:
- nvm-noinstall.zip: 这个是绿色免安装版本,但是使用之前需要配置。(个人推荐这个)
- nvm-setup.zip:这是一个安装包,下载之后点击安装,无需配置就可以使用,方便。
- Source code(zip):zip压缩的源码
- Sourc code(tar.gz):tar.gz的源码,一般用于*nix系统
第二步:配置NVM环境变量
1.在nvm文件夹中创建settings.text,写入以下内容保存:
root: D:\dev\nvm
path: D:\dev\nodejs
root: 是nvm.exe所在目录
path:node快捷方式所在的路径。当使用nvm use XXXnode版本号的时候会根据path的设置创建快捷方式。每切换不同版本,这个快捷方式里的内容根据使用的node的版本而变化。
注意:手打的话root和path的冒号后面一定要有一个空格,不然安装node的时候是不会安装到该nvm文件夹里。
2.计算机——右键——属性——高级系统设置——环境变量
新建变量名:NVM_HOME,变量值:D:\dev\nvm
新建变量名:NVM_SYMLINK,变量值:D:\dev\nodejs
找到Path选择编辑添加%NVM_HOME%;%NVM_SYMLINK%;
注意:
A.变量名必须为NVM_HOME和NVM_SYMLINK,之前重新安装突然想试试变个名会如何于是给NVM后面加个s,然后出问题了。
B.编辑PATH的时候添加%NVM_HOME%前面一定要分号结尾。
C.path中%NVM_HOME%与%NVM_SYMLINK%的顺序不要反。
3.检测nvm安装成功与否
命令台输入 nvm 跳出呼啦啦一大堆告诉你怎么操作的就是安装成功了。
第三步:安装node
nvm install node版本号 //安装某个版本node
nvm use node版本号 //使用某版本node
node -v //查看版本号,需要use后才能才能使用node -v查看版本
没有出现“不是内部或外部的指令”,那一般都安装成功了。
npm“不是内部或外部的指令”的问题:
我们安装的每一个版本的node.js都自带了一个npm模块。如果需要使用npm 安装模块,必须先nvm use node版本后,才能使用npm安装模块。安装了全局模块但是无法使用该命令,如全局安装vue-cli,但是vue -V查看版本的时候出现“不是内部或外部的指令”,我们要设置npm的prefix的路径为该版本的node.exe所在的路径。
例如:当前使用v10.15.0的node,他的node.exe的路径为E:\nvm\version\v10.15.0。那么就设置
npm config set prefix "E:\nvm\version\v10.15.0"
每次使用npm都要先使用nvm use node版本,因此我们需要安装一个全局npm,直接使用npm安装模块。
第四步:全局安装npm
path环境变量添加%NPM_HOME%,注意:要将这个环境变量放在%NVM_SYMLINK% 的前面才有生效,否则被它抢先覆盖了。
附:配置好环境变量后记得重新打开命令行窗口才能生效。
参考资料:
nvm安装:https://www.cnblogs.com/weiqinl/p/7503123.html
node配置:https://www.cnblogs.com/shimily/articles/7244058.html
nvm安装node流程及报错解决的更多相关文章
- 按照教程自动安装RFNoC时.在使用pip安装pybombs时出现报错,解决办法
$ sudo apt-get install git $ sudo apt-get install python-setuptools python-dev python-pip build-esse ...
- Sublime Text3的Package Control安装教程,及报错解决There Are No Packages Available For Installation
一.Package Control的安装 Sublime 有很多插件,这些插件为我们写python代码提供了非常强大的功能,这些插件需要单独安装.而安装这些插件最方便的方法就是通过Package Co ...
- 安装`lrzsz`包及其报错解决办法
rz命令的安装包名是lrzsz. 安装lrzsz包时报错Failed to mount cd:///?devices=/dev/sr1,/dev/sr0 on /var/adm/mount/AP_0x ...
- [vsftpd] ubuntu14.04 ansible剧本安装vsftpd流程及报错排查
需求: 在ubuntu14.04机器上搭建ftp服务,ftp账号通过winscp软件登录后,仅可增删改/data/wwwroot目录. 一.安装步骤 1.apt 安装vsftpd apt-get in ...
- 单实例安装elastic和启动报错解决
下载 先到官网https://www.elastic.co/cn/downloads/past-releases/elasticsearch-5-5-2下载,我安装的是5.5.2的版本,其他版本直接访 ...
- 安装单机CHD5.12报错解决(补充)
一.oozie启动失败 (1) 拷贝mysql的驱动文件. 一个是需要把java的mysql的驱动jar文件拷贝到oozie的lib目录中 /opt/cloudera/parcels/CDH-5.12 ...
- git 相关流程和报错解决
git 相关流程: 预先配置: gitroot $ git config user.name XXXgitroot $ git config user.email XXX@XXX.com git re ...
- 安装google cloud sdk报错解决方法总结(超全)
前提:python环境最好是2.7,如果是python3可能会出很多小毛病:能用64位系统就尽量用64位,32位系统安装也很多毛病 一.Error1:Unzip Failed: Error openi ...
- linux安装mydumper软件包以及报错解决
今天使用mydumper命令从AWS上的RDS集群MYSQL数据库导出数据,发现Tidb官方提供的工具不太适合,所以就自己编译了一个来尝试一下,居然成功了. 首先我的系统是Centos7,并且已经安装 ...
随机推荐
- 将shell脚本运行情况写入Rsyslog日志server
在运维工作中,免不了编写一些脚本交由计划任务(cron)去定时运行完毕一些日常工作,实现运维工作自己主动化.比方在我的日常工作中备份数据是一项重要的工作,须要定时将数据备份到备份服器和一些其它的备份介 ...
- Extjs4.2 tooltip 提示宽度问题解决
在Extjs4.2 的tooltip 提示,宽度被限制在了40px,感觉非常别扭,是个BUG,解决的方法,在ext-all-debug.js或ext-all.js中,找到例如以下的代码: Ext.de ...
- TODOList 多线程交互、RCP、事物控制、数据倾斜、HBase数据同步性
TODOList 多线程交互.RCP.事物控制.数据倾斜.HBase数据同步性 TODO List thread.join()如何互相之间通知? 线程池何时最后运行完成? MemCache性能要优于R ...
- ios xcode真机调试获取屏幕截屏
非常多时候我们须要在调试的过程中把手机屏幕截图发给其它人看,在android开发中我们能够非常方便的截图保存.而xcode开发ios的时候发现这个需求却如此困难.网上大部分都是介绍的以下这个方案.可是 ...
- vim水平摆放全部窗体的三个方法
Method1: map <F7> <ESC>:windo exe "normal \<foobar<C-W>C-W>K"<C ...
- HDOJ 5296 Annoying problem LCA+数据结构
dfs一遍得到每一个节点的dfs序,对于要插入的节点x分两种情况考虑: 1,假设x能够在集合中的某些点之间,找到左边和右边距离x近期的两个点,即DFS序小于x的DFS序最大点,和大于x的DFS序最小的 ...
- word 的使用 —— 分页符与分节符
节的概念:节定义了一些格式, 如页边距.页面的方向.页眉和页脚,以及页码的顺序. 分节符是指为表示节的结尾插入的标记. 分节符的作用: 分节符起着分隔其前后文本格式的作用,如果删除了某个分节符,它前面 ...
- SharePoint 学习快速导航
根据我的学习过程,会不断的增加一些学习的快速链接 . 入门篇 SharePoint入门链接,针对刚刚开始了解SharePoint 的朋友,我也是处在入门的状态,随后会慢慢的累积增加 安装 | 部署 | ...
- PostgreSQL Replication之第九章 与pgpool一起工作(4)
9.4 设置复制和负载均衡 要配置pgpool,我们可以简单地使用一个包含一种典型的配置信息的已经存在的样本文件,将它拷贝到我们的配置目录并修改之: $ cp /usr/local/etc/pgpoo ...
- kotlin MutableList sort
fun MutableList<Int>.swap(index1: Int, index2: Int) {val tmp = this[index1] // 'this' correspo ...