mac brew安装 node 踩坑日记- n切换node不生效

2023-10-27

最近用了一个旧电脑开发,发现里面node管理混乱,有nvmnhomebrew,导致切换node 切换不了,开发也有莫名其妙的错误。所以我打算重新装一下node,使用n做为管理工具。

1. 删除nvm

cd ~
rm -rf .nvm

2. 删除n

sudo rm -rf /usr/local/n

3. 卸载nvm

brew uninstall node
npm uninstall npm -g
sudo rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/{npm*,node*,man1/node*}

或者 使用命令行卸载 Node.js

第一步:打开终端,输入以下命令显示 Node.js 的安装路径:

which node

执行该命令后,会显示安装路径:/usr/local/bin/node

第二步:输入以下命令删除 Node.js 相关的文件:

sudo rm -rf /usr/local/bin/npm
sudo rm -rf /usr/local/share/man/man1/node.1
sudo rm -rf /usr/local/lib/dtrace/node.d
sudo rm -rf ~/.npm
sudo rm -rf ~/.node-gyp
sudo rm /usr/local/bin/node

node -v

如果显示“command not found”,则表示已经卸载干净。

4. 安装brew

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

按回车后,根据提示操作:输入镜像序号 --> 输入Y,回车等待brew安装完成即可。

5. brew安装node

brew install node

6. brew安装python

brew install python@3.10

7. 安装n模块

sudo npm install -g n 

切换使用版本

sudo n v15.1.0

这时node -v 发现 版本号依旧没有生效, 最后找到了处理之法

方法一、执行brew unlink node

方法二、配置path
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mac brew安装 node 踩坑日记- n切换node不生效 的相关文章

随机推荐

  • Java 常见笔面试题

    2013年年底的时候 我看到了网上流传的一个叫做 Java面试题大全 的东西 认真的阅读了以后发现里面的很多题目是重复且没有价值的题目 还有不少的参考答案也是错误的 于是我花了半个月时间对这个所谓的 Java面试大全 进行了全面的修订并重新
  • USB驱动移植及mdev热插拔的实现

    基于之前移植的的内核 把驱动分别进行移植 这篇主要进行USB驱动移植 并阐明与热插拔相关的mdev 在2 6 30内核中 USB驱动已经比较完善了 移植是只要简单对配置单进行修改即可 添加的内容如下 Device Drivers gt SC
  • STM32入门篇2之外部中断

    外部中断 STM32入门统一版完整链接 更新中 中断 在主程序运行过程中 出现了特定的中断触发条件 中断源 使得CPU暂停当前正在运行的程序 转而去处理中断程序 处理完成后又返回原来被暂停的位置继续运行 中断优先级 当有多个中断源同时申请中
  • mysql分库分表

    一 概述 分库分表的顺序应该是先垂直分 后水平分 单个库太大 如果是因为表多而数据多 应使用垂直切分 根据业务切分成不同的库 如果是因为单张表的数据量太大 需要用水平切分 即把表的数据按某种规则切分成多张表 甚至多个库上的多张表 二 分库
  • 错误调试-debugger

    在浏览器中调试 在编写更复杂的代码前 让我们先来聊聊调试吧 调试 是指在一个脚本中找出并修复错误的过程 所有的现代浏览器和大多数其他环境都支持调试工具 开发者工具中的一个令调试更加容易的特殊用户界面 它也可以让我们一步步地跟踪代码以查看当前
  • 【数据结构】二叉树

    一 树的基本概念 1 1 树的概念 树是一种非线性的数据结构 它是由n n gt 0 个有限结点组成一个具有层次关系的集合 把它叫做树是因为它看起来像一棵倒挂的树 也就是说它是根朝上 而叶朝下的 有一个特殊的结点 称为根结点 根节点没有前驱
  • vue prop属性使用方法

    Prop作用是在子组件中接收父组件的值 参考
  • 晚上下班之后可以做什么副业,业余时间需要利用起来

    对大多数普通人来说 他们晚上有很多空闲时间 但他们总是在手机上玩游戏 刷视频 白白度过一夜 事实上 近年来 很多朋友都想利用晚上的时间做一些副业 因为目前的工资已经不能满足自己的需求 再加上生活各方面的压力 他们像山一样压着自己 然而 晚上
  • 【机器学习】Numpy手写机器学习算法,3万行代码!

    目录 Numpy手写机器学习算法 一 前言 二 作者简介 三 项目总体介绍 四 手写 NumPy 全家福 五 项目示例 一 前言 NumPy 作为 Python 生态中最受欢迎的科学计算包 很多读者已经非常熟悉它了 它为 Python 提供
  • vue中props数据变化的问题

    发现问题 在vue项目中 父子组件数据传递是最常见的场景 但是今天在开发过程中父级数据传递到子组件 控制子组件的显隐 发现存在问题 一直监听不到数据的变化 详细排查后发现是因为props在传递数据的时候子组件接收到数据后没有及时发生变化导致
  • FatFs文件系统模块的STM32移植操作(基于STM32的SD卡官方例程说明)

    由于想要读取 MP3 文件 故学习一下 FatFs 文件系统 文章介绍了 FatFs 的移植 对移植代码进行了分析 SD卡接口函数还需参照 STM32关于SDIO的控制 控制SD卡 喜暖知寒的博客 CSDN博客 STM32对SD卡的读 写
  • J2ME平台A-RPG游戏怪物寻路算法初探

    最近似乎在手机上A RPG游戏很受欢迎 当然 我最近也在帮公司写一款A RPG类的游戏 以前从没写过这样的游戏 从有到无的写出来了 也碰到不少问题 包括屏幕滚动时地图title数组索引的校验 整个游戏框架的搭建 地图数据的处理 分层的处理
  • webpack5 笔记三,管理输出

    效果 我们在页面上添加一个按钮 点击时会打印 good morning export function sayHi console log good morning how are you const btn document create
  • [云原生专题-64]:核心概念 - 云原生技术助力5G RAN步入”云”霄 - 对云原生的理解

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 122751639 目录 一 在后5G时
  • 查看IIS日志以及网站对应的IIS日志文件夹

    1 为什么要查看IIS日志 有时 我们在部署了一个程序之后 虽然程序里面记载了log日志 但有些类似503这样的错误在程序里面是无法记载的 所以我们需要通过查看IIS日志来查找问题 2 IIS日志目录 点进去之后 我们发现 IIS日志文件夹
  • JETBRAIN系列IDE改变终端的字体

    简介 JetBrains是一家捷克的软件开发公司 该公司位于捷克的布拉格 并在俄国的圣彼得堡及美国麻州波士顿都设有办公室 该公司最为人所熟知的产品是Java编程语言开发撰写时所用的集成开发环境 PhpStorm IntelliJ IDEA
  • frame 和iframe 的区别以及和frameset 的关系及应用

    1 frame不能脱离frameSet单独使用 iframe可以 2 frame不能放在body中 如下可以正常显示
  • C#让panel显示滚动条

    AutoScroll True AutoScrollMiniSize 450 450 设置逻辑区域尺寸 如果它大于控件尺寸就会出现滚动条
  • ffmpeg命令行示例

    在视频上覆盖一张照片 ffmpeg i video mkv i image png filter complex 0 v 1 v overlay out map out out mkv 生成5s的lavfi红色的视频 ffmpeg filt
  • mac brew安装 node 踩坑日记- n切换node不生效

    最近用了一个旧电脑开发 发现里面node管理混乱 有nvm n和homebrew 导致切换node 切换不了 开发也有莫名其妙的错误 所以我打算重新装一下node 使用n做为管理工具 1 删除nvm cd rm rf nvm 2 删除n s