Mac 使用nvm安装node时报错

1,347 阅读1分钟

MacPro M1 使用nvm安装node低版本时报错,如下:

clang: error: no such file or directory: 'CXX=c++'
make[1]: *** [***/.nvm/.cache/src/node-v13.6.0/files/out/Release/obj.target/openssl/deps/openssl/openssl/ssl/bio_ssl.o] Error 1
make[1]: *** Waiting for unfinished jobs....
rm 16e0c69e8bc5f37c22d692b842a2cccc2e537e3a.intermediate
make: *** [node] Error 2
nvm: install v13.6.0 failed!

nodejs 15.x 以下的版本都是不兼容 M1 macbook pro 的,可以基于 rosetta2 的 terminal 来通过命令行进行下载。

解决方案:

  1. mac打开应用程序

image.png

image.png

重启终端

$ nvm install 13.6.0
  1. 在使用nvm安装node时,先进入Rosetta 2 模式
$ arch -x86_64 zsh
$ nvm install 13.6.0

不过,最近使用此方法时,命令行报错,暂时不知原因。。。

image.png

Apple Rosetta 2 是什么 ?

苹果换”芯“了,从Intel的X86芯片到自研的M1芯片,这其中最大的挑战是Mac 原有的应用对 Apple Silicon M1的适配,理论上是完全不兼容的两套技术体系,原有的所有软件肯定不兼容!只有让开发者转为M1芯片进行软件的兼容和开发,当然这需要大量的时间。

苹果为了这段时间的过渡,推出了 Rosetta 2 技术:”通过 Rosetta 2,搭载 Apple 芯片的 Mac 可以使用专为配备 Intel 处理器的 Mac 构建的 App“。

参考链接:https://zhuanlan.zhihu.com/p/335021942