Node版本问题修复

322 阅读2分钟

背景

本地启动一个新项目,该项目要求 16+版本。目前团队标准为 14+,有关node版本工具本人使用的是n,切换版本后本地启动有报错,因此又切到了 18 版本,报错依然存在;求助其他同事发现相同版本未出现相关问题。采取删除node_modules, package-lock.json 重新安装依赖包处理,安装过程中发现gyp(node-gyp)错误

image.png

猜想可能node被玩儿坏了。只能清理设备的node环境重新安装了,😳

一、环境清理

我们都知道node和npm绑在一起安装的,需要把现有的安装信息全部清除。

1.1 清理npm

(1)卸载

$ sudo npm uninstall npm -g

如遇阻碍,可往下走

# step1. 全局安装路径 
$ npm cd /usr/local/lib/node_modules/npm 
# step2. 执行卸载 
$ sudo make uninstall

(2)检查

$ npm -v

1.2 清理node

相关指令

# step1 删除相关目录  若/var/db/receipts/org.nodejs.*不存在则忽略
sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*
 
#step2 删除设备账号下信息 node&.npm
 sudo rm -rf /usr/local/include/node  /Users/$yourMacDeviceAccount/.npm
 
 #step3 删除相关文件
  sudo rm /usr/local/bin/node
  sudo rm /usr/local/share/man/man1/node.1  
  sudo rm /usr/local/lib/dtrace/node.d
 
 #step4 检查残留文件 
 # 可通过.npm*  node*一并删除; (有些文件隐藏显示可通过cli提醒功能查看)
 # step4.1 检查目录遗留情况  /usr/local/lib/   /usr/local/include
 cd  /usr/local/lib/
 ls
  # step4.2 检查文件遗留情况 /usr/local/bin  /usr/local/share/main/main1 /usr/local/bin/dtrace /usr/local/bin
 cd  /usr/local/bin
 ls

效果图

/User

image.png

image.png

image.png

/usr/local

image.png

image.png

二、重新安装

官网下载

nodejs.org/zh-cn/downl…

相关报错

Q: dyld: Symbol not found: OBJC_IVAR$_NSFont._fFlags

A:stackOverflow 效果如图

image.png

#检查安装情况 已安转会有提示 
sudo xcode-select --install
# 重置
sudo xcode-select --reset
# 切换目录
sudo xcode-select -switch /Library/Developer/CommandLineTools/

三、扩展信息

参考资料

Linux 系统目录

/usr 最庞大的目录,要用到的应用程序和文件几乎都在这个目录。其中包含如下:

  • /usr/X11R6 存放X window的目录
  • /usr/bin 众多的应用程序
  • /usr/sbin 超级用户的一些管理程序
  • /usr/doc linux文档
  • /usr/include linux下开发和编译应用程序所需要的头文件
  • /usr/lib 常用的动态链接库和软件包的配置文件
  • /usr/man 帮助文档
  • /usr/src 源代码,linux内核的源代码就放在/usr/src/linux里
  • /usr/local/bin 本地增加的命令
  • /usr/local/lib 本地增加的库
  • /home 用户主目录的基点,比如用户user的主目录就是/home/user,可以用~user表示
  • /bin 二进制可执行命令
  • /dev 设备特殊文件
  • /var 某些大文件的溢出区,比方说各种服务的日志文件
  • /etc 系统管理和配置文件
  • /etc/rc.d 启动的配置文件和脚本

————————————————

原文链接:blog.csdn.net/sunstars200…