1. 首页
  2. 学习室

学习node的时候安装nvm遇到的一些疑难杂症


说两句
最近学习Node的时候都是用最新的 Node 版本,不过难免会有旧项目需要使用低版本做兼容
这时候就会用到 Node 版本管理工具,如 nvm 或者 n
我选择安装了 nvm

开始安装(此处仅介绍mac系统)
安装方式也比较简单,我一起都是使用 brew, 既简单又方便管理。
此处选择mac系统自带的Homebrew安装nvm。
安装Homebrew
检查是否有安装Homebrew,打开终端输入:

brew -v

如果出现版本号,则表示已安装Homebrew,如果提示:

-bash: brew: command not found

则表示未安装Homebrew,需要先安装Homebrew。将以下命令复制到终端执行:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

等待完成之后,再次输入:

brew -v

得到版本号,表示Homebrew安装完成:

Homebrew 1.8.4

使用Homebrew安装nvm

brew install nvm

一条命令就搞定了,接下来是配置环境,将下面的代码直接复制到终端执行。

echo "source $(brew --prefix nvm)/nvm.sh" >> .bash_profile

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

. ~/.bash_profile

无法激活的可以尝试用source ~/.bash_profile来替换. ~/.bash_profile指令

然后问题来了
version “N/A” 问题
安装过程都是很简单的,本以为一切都可以了,然而
当我新建终端窗口时,报错了……
错误代码如下:

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版本即可解决

先执行命令:查看”default” Node 版本

nvm ls


如上图这里我需要 v10.15.2 的版本,请根据需求修改版本号。

nvm install v10.15.2 执行命令完成后,再查看一下版本号,使用这条命令:
nvm alias default node


重开终端窗口不再报错了,搞定!

(以上报错搞定后,可能还会出现以下问题)

错误信息:

npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install"
npm ERR! node v10.15.2 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

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

[打赏一下]
  • 版权声明:本文基于《知识共享署名-相同方式共享 3.0 中国大陆许可协议》发布,转载请遵循本协议
  • 文章链接:https://www.imiowo.cn/437.html [复制] (转载时请注明本文出处及文章链接)
上一篇:
:下一篇
今天又是荒废的一天。

作者:秫祈

秫祈
介绍:来一起坐下喝杯奶茶!

文章:62篇

最后更新:20-12-17

3 条评论

gravatar

  1. 月亽
    月亽 4
    领结

    哦豁,开始用nvm啦,爹卖批的!加油!!!!

    #倒数1楼
    unknowunknow
    回复
    请勿水评论哦~好好回复有糖吃~
    1. 秫祈
      秫祈 4
      领结
      [博主]

      @月亽 因为前端我到瓶颈了,必须学新技能,但是bug比我想象的头还要大!!!

      unknowunknow
      回复
      请勿水评论哦~好好回复有糖吃~
      1. 月亽
        月亽 4
        领结

        @秫祈 nodejs可以先不学的,可以直接上手前端的三大框架的,也不用nvm

        unknowunknow
        回复
        请勿水评论哦~好好回复有糖吃~
当前页面评论被关闭,原因如下: