azev
V2EX  ›  Node.js

打算学下 node.js,请问 nvm 是标配吗?

  •  
  •   azev · Jul 25, 2024 · 13095 views
    This topic created in 830 days ago, the information mentioned may be changed or developed.

    通过 nvm 来安装和切换,还是只装个最新版 node.js 就行了?

    81 replies  •  2024-07-26 09:36:37 +08:00
    skuuhui
    skuuhui
    Jul 25, 2024
    1
    如果只是学习,装个常用版本就行了。
    bboring
    bboring
    Jul 25, 2024❤️7
    2
    我用 volta
    godwei
    godwei
    Jul 25, 2024
    3
    项目多的话还是装一个吧
    vituralfuture
    vituralfuture
    Jul 25, 2024 via Android
    4
    只有 node22 不兼容的时候才会用 nvm 切换到低版本 node
    94
    94
    Jul 25, 2024
    5
    刚开始学可以不用装,直接装 LTS 的 Node 就好了。
    等开始维护项目了,再装 Node 版本管理器也不迟。

    如果比较喜欢尝试流行的东西,可以考虑试试 [volta]( https://github.com/volta-cli/volta) 或者 [fnm]( https://github.com/Schniz/fnm)
    [科普文:用锈化的 fnm 管理 Node.js 版本 - 知乎]( https://zhuanlan.zhihu.com/p/587008009)
    bytesfold
    bytesfold
    Jul 25, 2024 via iPhone
    6
    事实上是一些老的别人的项目不用 nvm 切换老的版本运行不起来
    crysislinux
    crysislinux
    Jul 25, 2024 via Android
    7
    nvm 性能差,每次打开 terminal 都会受很大影响,建议 fnm ,装一个也不费事,虽然你自己用装个最新的就行,但是 clone 别人的代码人家可能限制了版本。
    TimPeake
    TimPeake
    Jul 25, 2024❤️1
    8
    nvm npm , 应该都是“上个世纪的”了吧(可能这么说有点夸张), 现在的标配应该是 pnpm , volta 吧
    Imindzzz
    Imindzzz
    PRO
    Jul 25, 2024 via Android❤️7
    9
    不是很懂这个问题的目的,你提问这时间,早就安装完 nvm 再用 nvm 安装完最新版 node 了
    jydeng
    jydeng
    Jul 25, 2024
    10
    不需要
    wu67
    wu67
    Jul 25, 2024
    11
    项目多的, 不上 nvm 也得上 docker, 不用关心什么性能不性能的问题, 哪个方便用哪个
    lukeding9627
    lukeding9627
    Jul 25, 2024
    12
    volta 吧,方便 ci/cd ,nvm 跑 ci/cd 没弄过
    yingqiuQAQ
    yingqiuQAQ
    Jul 25, 2024
    13
    学习 那就是最新的
    cleanery
    cleanery
    Jul 25, 2024❤️1
    14
    @TimPeake npm 也在进化, 新版的 npm 很快了. 而且 pnpm 对于某些项目还是不太兼容. 就算使用参数强制依赖平铺也一样有问题, 表现是工程没有报错但是部分功能不正常/工程直接无法启动
    murmur
    murmur
    Jul 25, 2024
    15
    nvm 原生支持 windows ,volta 不行
    murmur
    murmur
    Jul 25, 2024
    16
    *不好意思看错了,当我没回
    libook
    libook
    Jul 25, 2024 via Android
    17
    不需要,先写上代码,其他的慢慢了解就行
    TimPeake
    TimPeake
    Jul 25, 2024
    18
    @cleanery 你说的这些问题确实是,尤其是一些模版 admin 类 的项目,我这边 pnpm 也是经常跑不起来。 但是新项目 pnpm , volta 是绝对的趋势了
    coolair
    coolair
    Jul 25, 2024
    19
    pnpm
    hevi
    hevi
    Jul 25, 2024
    20
    我平时用 pm2 去弄部署的事,配合 fnm 会有路径问题,用 nvm 就没事,仅供参考
    chenliangngng
    chenliangngng
    Jul 25, 2024
    21
    学习不用
    工作要用
    supuwoerc
    supuwoerc
    Jul 25, 2024
    22
    volta
    yaodong0126
    yaodong0126
    Jul 25, 2024
    23
    没有什么标配不标配,工具是为人服务的,node 版本管理工具有很多,自己用起来没问题的我认为都可以,我写了 10 年 node ,最讨厌那些吹嘘什么什么最好,什么什么第一的言论,每个工具都有它适用的场景,你不会用或者用的不好,那是你的问题,水平不行别找客观原因
    ruanimal
    ruanimal
    Jul 25, 2024
    24
    多语言的人,用 vfox 更省事
    q2677855779
    q2677855779
    Jul 25, 2024
    25
    nvm 管理起来也方便,推荐 nvm 吧,很简单的
    KMpAn8Obw1QhPoEP
    KMpAn8Obw1QhPoEP
    Jul 25, 2024 via Android
    26
    @yaodong0126 请教一下怎样系统学 Node 有什么比较好的最佳实践可以参考吗 现在用是会用 但总觉得太碎了 还经常能搜到比较老的写法之类的 官方文档感觉写得很差 纯 API 罗列 像在读字典 看着头疼 有些细节也描述得不到位
    yanqing07
    yanqing07
    Jul 25, 2024
    27
    @TimPeake #8 只要有人维护都是要好工具,管它是上上个世纪。而且,用的人多也是参考标准之一,人多用才能修正好多 bug 。用个所谓的“前沿”工具,提个 bug 没人修,上网搜也没解决方案,这就是为项目埋坑
    g1vemep0wer
    g1vemep0wer
    Jul 25, 2024
    28
    装一个吧,如果要运行不止一个 node 项目,我都工作几年了才用 nvm ,之前都是手动升级 node 版本
    CHTuring
    CHTuring
    Jul 25, 2024
    29
    nvm 装一个也就几分钟,命令也就几个,没有学习成本。
    itbeihe
    itbeihe
    Jul 25, 2024
    30
    装一个吧,历史老项目,新 node 根本跑不起来。
    yaodong0126
    yaodong0126
    Jul 25, 2024❤️1
    31
    @enchilada2020 我倒觉得 node 的官方文档算是不错的了,我写 node 只看官方文档基本可以解决 99%的问题,偶尔遇到示例欠缺的,可能会去其他地方搜一搜,你说的所谓最佳实践不太可能有,不光是 node 的其他语言也一样,网上的所谓最佳实践,往往都是一些最基础的用法,甚至很多参数都直接用默认的,如果这样带到生产环境中将会是一场灾难
    我认为的最佳实践,只有你在项目中亲身经历了,才可以称为最佳实践,比如 node 的流,真正能用明白的,万分之一,所以我的建议是做项目,不要光靠网上的例子学,基本学不到什么有深度的东西
    hymxm
    hymxm
    Jul 25, 2024❤️1
    32
    看到没 这就是前端 (doge
    h1104350235
    h1104350235
    Jul 25, 2024
    33
    需要 nvm,新旧项目依赖的版本不一样,目前我工作用到的版本就有四个
    ysc3839
    ysc3839
    Jul 25, 2024 via Android
    34
    我推荐用 fnm 。nvm 的性能很差,还不支持 Windows 。
    lisongeee
    lisongeee
    Jul 25, 2024
    35
    如果觉得装 nodejs 麻烦,不如直接在用 https://stackblitz.com/ 在浏览器运行 nodejs
    pkoukk
    pkoukk
    Jul 25, 2024❤️1
    36
    屁大点事还要问一下..不敢想你要真学起来得有多纠结
    yaodong0126
    yaodong0126
    Jul 25, 2024
    37
    nvm 性能差?有多差?一个切换 node 版本的东西,用的到什么性能,实在不行咱换台电脑吧
    incubus
    incubus
    Jul 25, 2024
    38
    @ysc3839 你说的不支持,包含这个吗? https://github.com/coreybutler/nvm-windows
    HappyAndSmile
    HappyAndSmile
    Jul 25, 2024
    39
    nvm 确实挺影响 terminal 的,所以我写了 shell 方法,load_nvm, 用到时,才加载
    MEIerer
    MEIerer
    Jul 25, 2024
    40
    nvm ,js 最需要的就是灵活性,有啥能增加灵活的都上 dog.jpg
    m319
    m319
    Jul 25, 2024
    41
    看个人习惯吧,我选 fnm
    CodingNaux
    CodingNaux
    Jul 25, 2024
    42
    用 docker 吧,nvm 太低级
    Phariel
    Phariel
    Jul 25, 2024
    43
    装个 LTS 就行了 nvm 如果只是玩玩没必要装
    9A0DIP9kgH1O4wjR
    9A0DIP9kgH1O4wjR
    Jul 25, 2024
    44
    不是标配 除非有特别老的项目
    ETiV
    ETiV
    Jul 25, 2024 via iPhone
    45
    真·差生文具多😂
    想学直接装了就学起来了 哪有空搞这些花头
    jqtmviyu
    jqtmviyu
    Jul 25, 2024
    46
    系统装个 lts 的 node, 然后用 fnm 装几个旧版本的. 自己的项目就用 lts, 老项目就建个 .node-version 会自动切换

    全局包用 npm 装到 lts 里, 方便升级. 开发包就用 pnpm, 节省空间.
    zackzergzeng
    zackzergzeng
    Jul 25, 2024
    47
    就 nvm 装不装的问题就能造成这么大的分歧吗🤣
    kdwnil
    kdwnil
    Jul 25, 2024 via Android
    48
    问了说明不需要,装最新的 nodejs 就够用。需要时自然会装的,至于选 nvm fnm 还是 volta 就看个人喜好了
    LavaC
    LavaC
    Jul 25, 2024
    49
    看楼上都在说 nvm 不好,但一路用下来也没感觉太大问题,仅仅只是切换 node 版本也谈不上对性能要求这么敏感
    Cbdy
    Cbdy
    Jul 25, 2024
    50
    不是,装个最新版就可以了
    DeWjjj
    DeWjjj
    PRO
    Jul 25, 2024
    51
    当你问这个问题的时候=没有老项目,那你直接装最新的 lts 就行。
    sdgawer
    sdgawer
    Jul 25, 2024
    52
    @ysc3839 我用的 nvm 支持 Windows
    beginor
    beginor
    Jul 25, 2024 via Android
    53
    直接 pnpm ,node 版本管理,包管理, 工作区, 一个全搞定,
    n18255447846
    n18255447846
    Jul 25, 2024
    54
    下载编译好的二进制包,直接运行
    19c
    19c
    Jul 25, 2024❤️2
    55
    个人认为在入门阶段追求“最佳实践”是一件性价比很低、甚至可以被称为浪费时间的行为
    ysc3839
    ysc3839
    Jul 25, 2024 via Android
    56
    @incubus 请仔细看看这个项目的 README:
    This is not the same thing as nvm!
    The original nvm is a completely separate project for Mac/Linux only. This project uses an entirely different philosophy and is not just a clone of nvm.

    除此之外,此项目也有许多不如 fnm 的地方:之前的版本是不能直接 nvm install 10 来安装 Node.js 10.x 的最新版的,新版本是否支持我不知道。此项目更新很缓慢,目前最新版还是 2023 年 11 月发布的。
    sinalvee
    sinalvee
    Jul 25, 2024
    57
    nvm 不好的点在于如果不自己搞一下懒加载的话,他会影响 terminal 的启动速度
    linglongll
    linglongll
    Jul 25, 2024
    58
    咱用 n
    hsuyeung
    hsuyeung
    Jul 25, 2024 via iPhone
    59
    我也是工作后一堆历史项目对版本有要求才用上了 nvm ,只是自己学习的话可以不用。
    zbowen66
    zbowen66
    Jul 25, 2024
    60
    我近两个月经常用 `bun run dev`,目前没遇到坑
    vipfts
    vipfts
    Jul 25, 2024❤️2
    61
    前端的轮子都能组成一列火车了
    461229187
    461229187
    Jul 25, 2024
    62
    @bboring 感谢,试了一下,nvm 真的可以滚了
    weijancc
    weijancc
    Jul 25, 2024
    63
    @TimPeake #8 pnpm 会出现打包后的资源和开发时不一致的情况, 我现在已经改用 yarn 了.
    YuuuuuuH
    YuuuuuuH
    Jul 25, 2024
    64
    @bboring +1 volta 很好用
    MiMiGe
    MiMiGe
    Jul 25, 2024
    65
    volta 无敌
    a134698815
    a134698815
    Jul 25, 2024
    66
    bun
    Immortal
    Immortal
    Jul 25, 2024
    67
    nvm 巨影响 shell 的启动速度,慎用
    MagicCoder
    MagicCoder
    Jul 25, 2024
    68
    0o0O0o0O0o
    0o0O0o0O0o
    Jul 25, 2024 via iPhone
    69
    @yaodong0126 #37
    @LavaC #49

    可能是因为你们不是终端用户,想象一个最简单的场景:从终端进入 projectA ,你要 nvm use ,再进入 projectB ,你又要 nvm use ,重度终端用户一般受不了这种操作,多半会选择与 shell 集成来实现自动化,以至于每进入一个有 .nvmrc 的目录都会自动执行,而几百毫秒的耗时会让重度终端用户有一种吃饭硌牙的不适感。
    mgcnrx11
    mgcnrx11
    Jul 25, 2024
    70
    https://docs.volta.sh/advanced/pnpm volta 不是对 pnpm 支持不算完善吗?是 pnpm 喔? volta 用 pnpm 的影响有点大啊
    blur1119
    blur1119
    Jul 25, 2024
    71
    很奇怪,装一个 nvm 也不费劲,一装解千愁,为啥专门提问呢
    giserman001
    giserman001
    Jul 25, 2024
    72
    win10 环境下: 为啥.nvmrc 文件无效?
    ddhYr
    ddhYr
    Jul 25, 2024
    73
    fnm
    vk4LNh8gE08SBd9V
    vk4LNh8gE08SBd9V
    Jul 25, 2024
    74
    @giserman001 windows 没这功能 mac 才有
    BG7ZAG
    BG7ZAG
    Jul 25, 2024
    75
    fnm ,win 上喜欢界面可以用 nvm-desktop
    juntaol678
    juntaol678
    Jul 25, 2024
    76
    感觉有点走偏了呀,nvm 就只是个版本管理工具而已,你愿意装就装,不装也行,这跟学 node 根本没什么联系。
    BeautifulSoap
    BeautifulSoap
    Jul 25, 2024
    77
    请不要学都还没开始学就开始在选工具上浪费时间

    直接装个 nodejs lts ( v20 ),然后开始学才是真的。包管理就用自带的 npm 。别折腾花活。等你熟练了自然就有自己需求了
    leo72638
    leo72638
    Jul 25, 2024
    78
    只学习不用装,如果手上项目多,需求的 node 版本还不同才需要装
    cleanery
    cleanery
    Jul 26, 2024
    79
    @weijancc 我使用 ReFS 把缓存和代码放在一个 vhd 虚拟分区里, 可以利用上 ReFS 的块克隆特性, 速度还是飞快的.
    yaodong0126
    yaodong0126
    Jul 26, 2024
    80
    @0o0O0o0O0o 不要定义我的场景,我不光用终端,我还在 vim 写代码,nvm 的 100 毫秒我不在乎,你们嫌慢那是你们的事,天天折腾工具也是你们的事,我已经写完代码赚到钱了,没空管这些
    0o0O0o0O0o
    0o0O0o0O0o
    Jul 26, 2024
    81
    @yaodong0126 #80 那就祝你发财吧。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1370 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 145ms · UTC 20:13 · PVG 04:13 · LAX 12:13 · JFK 15:13
    ♥ Do have faith in what you're doing.