因为 node 只有 15 版本之后才支持 apple m1 芯片,而 homebrew 上的 node@12 就已经支持了 m1 芯片(同时我也很好奇是怎么做到支持的)。所以依靠 homebrew 的 link 和 unlink ,是否可以代替 nvm ?目前我想到了两点 nvm 能做到而我不知道 homebrew 怎么做到的事,一是精确到某个小版本,比如 node 14.1.1 ,二是按装低版本 node ,homebrew 好像只支持到 node@10 。如果这两个缺点能接受,是否就可以摆脱 nvm 了?
1
wellsc 2021-11-16 11:11:27 +08:00
不是一个层级的东西
|
2
datou 2021-11-16 11:13:49 +08:00
nodejs 可以自己从源码编译
以前折腾树莓派 2 的时候就是自己编译 node |
3
preper OP @wellsc 可否详细讲讲?我的理解,这两个工具都是下载多个 node 版本,通过切换指向的包来控制全局的 node 命令调用的 node 包。区别就是 nvm 只是下载 node 官方的包,homebrew 会自己编译。如果只是使用的话感觉应该没有区别?
|
4
preper OP @datou 提这个问题主要是考虑如何方便的切换多个版本的 node 。如果只是自己用的话肯定是用最新的,但是如果要跑一些工作上的老项目,难免要和低版本的 node 打交道。
|
5
basefas 2021-11-16 11:38:39 +08:00
本地随意,线上 docker
|
6
klarkzh 2021-11-16 13:38:29 +08:00
我的电脑 nvm 启动太慢了,所以放弃 nvm 了
|
7
weixiangzhe 2021-11-16 13:44:40 +08:00 via iPhone 2
fnm 了解一下
|
8
podel 2021-11-16 14:27:19 +08:00
docker 也可以看看,也是原生 arm 的
|
9
iamben 2021-11-16 16:14:20 +08:00 via iPhone
n 了解一下
|
11
preper OP @dcoder 因为换了 m1 的 mac ,不知道 nvm 是否原生支持 arm 芯片,同时也不知道通过 nvm 安装的 node 是原生 arm 架构还是 intel 的。homebrew 下,node12 版本就已经标注支持 arm 架构了。
|
13
preper OP @dcoder 有 rosetta 转译,运行肯定没问题。但是 m1 上运行 intel 的 node 的话效率肯定不如 arm 的 node 。我现在用 homebrew 装的 node ,基本不发热,风扇从来不转。如果你平时用 node 风扇也不转的话,我感觉就没啥区别。
|
14
dcoder 2022-12-23 12:23:16 +08:00
风扇不转. node 能在 mac 本地跑, 就不用在乎效率吧. 反正最终上 prod 是跑在 Linux server 上.
|