本篇文章由:http://xinpure.com/encountered-nvm-installation-pits/

说两句

以前开发都是用最新的 Node 版本,不过难免会有旧项目需要使用低版本做兼容

这时候就会用到 Node 版本管理工具,如 nvm 或者 n

我选择安装了 nvm

开始安装

安装方式也比较简单,我一起都是使用 brew, 既简单又方便管理

brew install nvm

一条命令就搞定了,接下来是配置环境

export NVM_DIR="$HOME/.nvm"
. "/usr/local/opt/nvm/nvm.sh"
export PATH="/usr/local/sbin:$PATH"

将上面的代码直接复制到 ~/.zshrc 或者 ~/.bash_profile 或者其它配置文件

最后为了确保生效执行命令:

source ~/.zshrc

请根据自己的配置文件修改相应命令

坑来了

version "N/A" 问题

安装过程都是很简单的,本以为一切都 OK 了,然而。。。

当我新建终端窗口时,报错了。。。

N/A: version "N/A" is not yet installed.

You need to run "nvm install N/A" to install it before using it.

这就尴尬了,version "N/A" 是个什么鬼,难道还有什么 "N/A" 版本。。 (其实也是当时脑子没反应过来。。。)

为些我还 Google 了一圈,似乎也是朋友遇到了这个问题,但是问题也没有得到解决 (只是没看到有正确回复)

冷静下来一想,nvm 就是个版本控制器嘛

刚装完的时候,nvm 里还没有安装任何的 node 版本,而且它在提示的时候,找不到版本号,因此返回了 "N/A"

所以会出现 version "N/A" 这样的提示 (提示太不友好了。。。)

既然找到了问题,所以只需要安装任意的 node 版本即可解决

nvm install 5.9

这里我需要 5.9 的版本,请根据需求修改版本号

重开终端窗口不再报错了,搞定!额,好像还没完。。。。

版本混合错误 (其实我也不知道该怎么说这是什么错误)

错误信息:

npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install"

npm ERR! node v5.9.0 npm ERR! npm  v3.7.3

npm ERR! Invalid Version: 2.0.5beta

这个问题,刚看到也是比较蒙逼,心中一顿怒骂,啥玩意。。。

Google 一番才知道,原来是和之前单独安装的 node 版本有关

在没用 nvm 之前,还用 brew 安装了一个 6.0 的版本

brew install node

如果以这种方式安装过 node 的话,需要先删除

brew remove --force node

sudo rm -r /usr/local/lib/node_modules

brew prune

sudo rm -r /usr/local/include/node

最后使用 brew 检查一下

brew doctor

至此问题圆满解决了,真是长舒胸中一口闷气!舒坦!

总结

总是会把问题复杂化,不能快速准确的找到问题的关键

安装 nvm 遇到的坑的更多相关文章

  1. mac 上安装 nvm 遇到的坑

    本人之前在 mac 上已经装过 nvm 了,今天帮朋友在他电脑上装,由于是新版本,没想到有点坑. ** 一定要参考官方文档 一.命令行安装  (图片来自 github ) 意思是,无论你安装还是更新 ...

  2. Mac机上安装nvm遇到的坑--nvm command not found

    在Mac机上,我最开始是通过homebrew来安装nvm,如下: $ brew install nvm 安装完成后,在命令行输入nvm list,发现出现如下提示: What?!!我不是才安装了nvm ...

  3. node环境配置安装(nvm)

    在我们前端开发工程中,很多繁琐机械的操作都是会慢慢的被抽离出来的,当我们为dom操作和浏览器兼容性感到厌烦时,jQuery出现了,当我们不想再去理会dom的添加删除等的时候,angularJS来解救我 ...

  4. Windows安装nvm和node, 以及安装live-server

    nvm下载源https://github.com/coreybutler/nvm-windows/releases 参考博客: 主要https://www.cnblogs.com/hamsterPP/ ...

  5. Appium环境的安装以及一路上的坑

    Appium环境的安装以及一路上的坑 第一步环境的安装 l  javaJDK的安装以及环境变量的配置这个我就不说了网上的教程全都是,搜一个安装一下吧 l  AndroidSDK的安装也是如此我是直接安 ...

  6. windows 安装nvm步骤(shi'yongnvm-windows管理node版本):

    瞎几把前言:mac上可以用n来管理node版本,私以为n很好用.家里的win7台式机一直没有安装过任何管理工具,今天来给家里电脑安装一下nvw-windows,一个用于windows系统的node版本 ...

  7. flutter 安装过程遇到的坑

    Flutter是一个移动应用程序的软件开发工具包(SDK),用一个代码库构建高性能.高保真的iOS和Android应用程序.目标是使开发人员能够为Android和iOS提供自然的高质量的应用,在滚动行 ...

  8. 安装nvm管理不同的node版本

    在工作或者学习中,偶尔会遇到需要切换不同node版本的需求,幸好有神器nvm可以帮我们解决问题.下面我们就来讲解如何在window系统上安装nvm!

  9. 安装redis时候的坑

    安装redis时候的坑 随手记录一下,以此为借鉴. 1.按照需求下载redis服务 redis可视化文件 2.安装及环境搭建 修改服务里redis.windows-service.conf文件,或者r ...

随机推荐

  1. Git 学习(三)本地仓库操作——git add & commit

    Git 学习(三)本地仓库操作——git add & commit Git 和其他版本控制系统如SVN的一个不同之处就是有暂存区的概念.这在上文已有提及,本文具体说明什么是工作区及暂存区,以及 ...

  2. STM32串口的设置和库函数的介绍

    串口设置的一般步骤可以总结为如下几个: 1) 串口时钟使能, GPIO时钟使能  2) 串口复位 3)GPIO 端口模式设置 4) 串口参数初始化  5) 开启中断并且初始化 NVIC(如果需要开启中 ...

  3. pymysql的使用心得(1)------小细节,注意!

    最近一段时间开始使用MySQL,使用的是pymysql库. 其中遇到过一些小问题,值得记录一下,以便今后使用的时候注意到. 表格的建立,代码如下: cursor.execute("creat ...

  4. RecyclerView 判断滑到底部 顶部 预加载 更多 分页 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  5. 图解vue中 v-for 的 :key 的作用,虚拟dom Diff算法

    其实不只是vue,react中在执行列表渲染时也会要求给每个组件添加上key这个属性. 要解释key的作用,不得不先介绍一下虚拟DOM的Diff算法了. 我们知道,vue和react都实现了一套虚拟D ...

  6. Android -- 打开本地图片且显示路径

    背景                                                                                          代码       ...

  7. SqlServer 在查询结果中如何过滤掉重复数据

    问题背景 在一个多表查询的sql中正常情况下产生的数据都是唯一的,但因为数据库中存在错误(某张表中存在相同的外键ID)导致我这边查询出来的数据就会有重复的问题 下面结果集中UserID:15834存在 ...

  8. Cognos定时刷新RS解决方案

    为了了解医院运营情况,在门诊和挂号业务上用户提出了一个接近实时监测的需求,每隔一段时间需要知道当天的挂号量,等待人数,出诊医生等指标来了解医院当天主要科室的就诊情况,以及医疗资源是否分配得当 一:方案 ...

  9. (转)Unity3D - 性能优化之Draw Call

    Unity(或者说基本所有图形引擎)生成一帧画面的处理过程大致可以这样简化描述:引擎首先经过简单的可见性测试,确定摄像机可以看到的物体,然后把这些物体的顶点(包括本地位置.法线.UV等),索引(顶点如 ...

  10. Ensemble_learning 集成学习算法 stacking 算法

    原文:https://herbertmj.wikispaces.com/stacking%E7%AE%97%E6%B3%95 stacked 产生方法是一种截然不同的组合多个模型的方法,它讲的是组合学 ...