MAC Homebrew安装node npm错误提示总结

        mac安装了好几次node,但关机再开机就经常失效。有用安装包安装,也用homebrew安装过,最后导致管理混乱。今天开机发现 node -v又不好用了。决定彻底解决一下。

首先,尝试brew install node。

brew install node

homebrew警告node已安装

尝试 brew link node 提示错误:

brew link node

强制 link

brew link --overwrite node

发现没有/usr/local/的读写权限 chown 命令获取权限

sudo chown -R $(whoami):admin /usr/local

命令失效了,更换新命令:

sudo chown -R $(whoami) $(brew --prefix)/*

重新尝试 brew linke node,又报错误:

删掉,都删掉!!!!!

rm '/usr/local/include/node/common.gypi'

brew link --overwrite --dry-run node(此处错误❌并未强制link)

在删除了一大堆文件后查看node版本:(实际上只是列出删除的文件,未执行link)

brew link node还是不好用。。。。

再次强制 link node

brew link --overwrite node

好用了!!!😭😭😭

但是npm还是没有。😭😭😭

安装npm:

brew install npm

提示警告⚠️:

根据提示尝试重新安装node:

brew reinstall node

终于成功了🎉🎉🎉

总结:

        如果homebrew提示已安装node,但是brew link node报出/user/local/node/common.gypi文件symlink失败,尝试删除相应文件。

若没有读写权限,无法删除文件则使用chown命令获取本地文件夹读写权限:

sudo chown -R $(whoami):admin /usr/local

重点:若为新版本mac系统 则使用以下命令

sudo chown -R $(whoami) $(brew --prefix)/*

然后再使用强制 link

brew link --overwrite node

否则还是会产生Could not symlink include/node/common.gypi错误❌❌❌

homebrew安装完node有可能npm还是不好用,根据提示重安装node:

brew reinstall node

然后,npm就好用了。🍺

从最后一步看,可能直接运行brew reinstall node就行了,但是没有试验,以后再做考证,希望下回开机一切环境正常。不知道是否有其他问题,升级新版mac系统后总是有权限上的问题,不知道有没有一劳永逸的办法。

补充:

执行 brew link --overwrite node 会强制链接并覆盖所有冲突文件

执行 brew link --overwrite --dry-run node 只是会列出所有将被删除的文件

所以我之前执行 brew link --overwrite --dry-run node 只是列出了删除的文件,真正覆盖安装需要执行brew link --overwrite node

common.gypi是什么:www.xuebuyuan.com/2099911.htm…

所以可能是之前安装过程中断了导致node安装失效,并且文件不全。

原文链接:juejin.im

上一篇:【真香系列】Vue-Next 源码第四章
下一篇:Redux源码分析

相关推荐

  • 通过microtasks和macrotasks看JavaScript异步任务执行顺序 | 拓跋的前端客栈

    setTimeout(fn,0)的含义是,指定某个任务在主线程最早可得的空闲时间执行,也就是说,尽可能早得执行。它在”任务队列”的尾部添加一个事件,因此要等到同步任务和”任务队列”现有的事件都处理完,...

    3 年前
  • 记一次Mac下java环境配置

    作为一个前端程序员在工作中也无法避免安装Java环境,毕竟总有的项目没有完全前后端分离;而且由于公司后端项目的原因,还用不了最新的JDK版本,因此在我安装最新版本Java环境的情况下需要更换sdk,着...

    1 年前
  • 让你的Mac自动同步代码

    给大家分享一个好玩的小工具 -- 如何让你的Mac自动同步代码 相信大家在开发过程中肯定是并发运行多个需求。也相信大家一定会被频繁的同步远程分支代码搞的焦头烂额。 有的时候由于过度的投入到开发中,时间...

    2 天前
  • 解决mac下webstorm编辑器识别less的问题

    之前在使用webstorm开发vue项目过程中,发现代码里的less有些地方总是飘红报错,虽然不影响整体代码运行,但是看起来总是很乱很难受,如下图(由于当时忘记截图,在网上找别人的图片,但是遇到问题是...

    2 年前
  • 简述BEM, OOCSS,AMCSS,SMACSS,SUITCSS,ITCSS

    本文介绍的以下几种都是对CSS模块化的各种实现,你可能工作中使用不到,甚至部分有些被淘汰。但是希望你看到这些词的时候不会一脸懵逼!!! BEM 本人的上篇文章有详细的介绍:2020年你还没用BEM...

    10 个月前
  • 用JavaScript或jQuery检测Mac OS X或Windows计算机的最佳方法

    Louisalt提出了一个问题:Best way to detect Mac OS X or Windows computers with JavaScript or jQuery,或许与您遇到的问题...

    3 年前
  • 热门 macOS 开源应用收集

    作者: LeanCloud weakish 安利 6 款热门的 macOS 应用,其中包括三个提高效率的小工具(把 Dock 放到 TouchBar 上、在终端打开当前文件夹、基于 Lua 自动化重复...

    1 年前
  • 浏览的微任务MicroTask和宏任务MacroTask

    简介 ​ 我把JavaScript在浏览器中运行主要分为以下几种类型的任务: 同步任务(MainTask) :同步任务是指JavaScript按照正常顺序执行的代码,比如:函数调用,数值运算等等,只...

    1 年前
  • 浅析 JS 事件循环之 Microtask 和 Macrotask

    简介 我们在上一篇 《浅析 JS 中的EventLoop 事件循环》 中提到一个 Event Queue,其实在事件循环中 queue 一共有两种,还有一种叫 Job Queue 其中 Event ...

    1 年前
  • 打造一个 redux 数据流方案 --- 名为 demacia

    打造一个 redux 数据流方案 --- 名为 demacia 目的:打造一个简单的 redux 数据流方案,实现功能类似与 dva,但仅仅只是对 redux 进行封装,简化 redux 使用...

    9 个月前

官方社区

扫码加入 JavaScript 社区