V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
preper
V2EX  ›  前端开发

homebrew 可否替代 nvm?

  •  
  •   preper · 2021-11-16 11:07:39 +08:00 · 2562 次点击
    这是一个创建于 1111 天前的主题,其中的信息可能已经有所发展或是发生改变。

    因为 node 只有 15 版本之后才支持 apple m1 芯片,而 homebrew 上的 node@12 就已经支持了 m1 芯片(同时我也很好奇是怎么做到支持的)。所以依靠 homebrew 的 link 和 unlink ,是否可以代替 nvm ?目前我想到了两点 nvm 能做到而我不知道 homebrew 怎么做到的事,一是精确到某个小版本,比如 node 14.1.1 ,二是按装低版本 node ,homebrew 好像只支持到 node@10 。如果这两个缺点能接受,是否就可以摆脱 nvm 了?

    14 条回复    2022-12-23 12:23:16 +08:00
    wellsc
        1
    wellsc  
       2021-11-16 11:11:27 +08:00
    不是一个层级的东西
    datou
        2
    datou  
       2021-11-16 11:13:49 +08:00
    nodejs 可以自己从源码编译

    以前折腾树莓派 2 的时候就是自己编译 node
    preper
        3
    preper  
    OP
       2021-11-16 11:33:55 +08:00
    @wellsc 可否详细讲讲?我的理解,这两个工具都是下载多个 node 版本,通过切换指向的包来控制全局的 node 命令调用的 node 包。区别就是 nvm 只是下载 node 官方的包,homebrew 会自己编译。如果只是使用的话感觉应该没有区别?
    preper
        4
    preper  
    OP
       2021-11-16 11:35:38 +08:00
    @datou 提这个问题主要是考虑如何方便的切换多个版本的 node 。如果只是自己用的话肯定是用最新的,但是如果要跑一些工作上的老项目,难免要和低版本的 node 打交道。
    basefas
        5
    basefas  
       2021-11-16 11:38:39 +08:00
    本地随意,线上 docker
    klarkzh
        6
    klarkzh  
       2021-11-16 13:38:29 +08:00
    我的电脑 nvm 启动太慢了,所以放弃 nvm 了
    weixiangzhe
        7
    weixiangzhe  
       2021-11-16 13:44:40 +08:00 via iPhone   ❤️ 2
    fnm 了解一下
    podel
        8
    podel  
       2021-11-16 14:27:19 +08:00
    docker 也可以看看,也是原生 arm 的
    iamben
        9
    iamben  
       2021-11-16 16:14:20 +08:00 via iPhone
    n 了解一下
    dcoder
        10
    dcoder  
       2022-12-18 07:31:51 +08:00
    @preper 你为啥要摆脱 nvm, 有什么主要缺陷么? nvm 还是比 brew 要方便很多
    preper
        11
    preper  
    OP
       2022-12-22 10:33:26 +08:00
    @dcoder 因为换了 m1 的 mac ,不知道 nvm 是否原生支持 arm 芯片,同时也不知道通过 nvm 安装的 node 是原生 arm 架构还是 intel 的。homebrew 下,node12 版本就已经标注支持 arm 架构了。
    dcoder
        12
    dcoder  
       2022-12-23 02:11:00 +08:00
    @preper 我在 m1 的 mac 上都用了几个月了, 还没发现问题.
    preper
        13
    preper  
    OP
       2022-12-23 10:02:26 +08:00
    @dcoder 有 rosetta 转译,运行肯定没问题。但是 m1 上运行 intel 的 node 的话效率肯定不如 arm 的 node 。我现在用 homebrew 装的 node ,基本不发热,风扇从来不转。如果你平时用 node 风扇也不转的话,我感觉就没啥区别。
    dcoder
        14
    dcoder  
       2022-12-23 12:23:16 +08:00
    风扇不转. node 能在 mac 本地跑, 就不用在乎效率吧. 反正最终上 prod 是跑在 Linux server 上.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2646 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 10:03 · PVG 18:03 · LAX 02:03 · JFK 05:03
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.