V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
palmers
V2EX  ›  Node.js

[求解决办法]每次使用 nvm 切换 node 版本后都需要重新处理 npm yarn 找不到的问题?

  •  1
     
  •   palmers · 2021-04-16 09:54:17 +08:00 · 3547 次点击
    这是一个创建于 1350 天前的主题,其中的信息可能已经有所发展或是发生改变。
    对前端知识一知半解,网上也没有找到有用的方法, 来这里请教大家是如何解决的? 谢谢了
    13 条回复    2021-04-16 14:04:35 +08:00
    ccccccc
        1
    ccccccc  
       2021-04-16 09:58:14 +08:00
    这是 nvm 的 feature,不过你每个版本都安装过下次再切换应该就不用重新安装的了
    marcong95
        2
    marcong95  
       2021-04-16 09:59:09 +08:00 via Android
    会不会是由于国内奇妙的网络环境你在 nvm install 的时候其实只装了 node 没装 npm

    我在用的 nvm-windows 是之前也试过这问题,nvm config 里可以设置 NODE_MIRROR 和 NPM_MIRROR,改成淘宝的看看?或者直接挂代理用官方源
    gqbre
        3
    gqbre  
       2021-04-16 10:00:24 +08:00
    每个 node 版本都是独立的,全局安装的 npm 包也互相独立。
    你可以在安装别的版本的时候使用这个参数 `--reinstall-packages-from=current`,它会把当前 node 版本安装的全局 npm 包一并安装到新版本 node 环境里
    Eg.
    ```
    nvm install --lts --reinstall-packages-from=current
    ```
    Chingim
        4
    Chingim  
       2021-04-16 10:03:31 +08:00
    只在 nvm-windows 遇到过这个问题, macOS 一直都很正常

    https://github.com/coreybutler/nvm-windows/issues/456
    palmers
        5
    palmers  
    OP
       2021-04-16 11:36:32 +08:00
    @ccccccc 并不是, 我切换回来依然找不到 而且这样切换后 类似 webstorm 的 local terminal 无法识别 nodejs 无法使用 npm yarn
    palmers
        6
    palmers  
    OP
       2021-04-16 11:38:15 +08:00
    @marcong95 嗯 这个我在网上也查询到了 我也设置了源为淘宝镜像 node 和 npm 都设置了
    palmers
        7
    palmers  
    OP
       2021-04-16 11:39:51 +08:00
    @gqbre 好 我试试这方法 谢谢了 现在我把 yarn 全局安装了 但是在 webstorm 的本地 terminal 无法使用命令 捣鼓了好久也没有配置好 现在只能在外面的 shell 中运行 yarn 和 npm 命令
    0es
        8
    0es  
       2021-04-16 11:59:19 +08:00
    vim ~/.bash_profile

    添加
    ```
    export NVM_DIR="$HOME/.nvm"
    [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
    [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
    ```
    重启 terminal
    leoleozhu
        9
    leoleozhu  
       2021-04-16 12:04:46 +08:00
    npm 应该是装完 node 版本后就有的。
    yarn 可以加到 default package 中。

    ➜ ~ cat .nvm/default-packages
    yarn
    @vue/cli
    otakustay
        10
    otakustay  
       2021-04-16 13:10:20 +08:00
    不用 npm 装 yarn 就能解决了,比如用 brew 装……
    palmers
        11
    palmers  
    OP
       2021-04-16 14:01:07 +08:00
    @0es 😄 然而 我工作系统是 windows
    palmers
        12
    palmers  
    OP
       2021-04-16 14:03:59 +08:00
    @leoleozhu 嗯 是的 在 node_modules 中, 网上说因为镜像原因 安装 node npm 安装不成功所以找不到 npm 在对应目录确实只有 node.exe , 然后我卸载后 设置淘宝源 然后安装好了 等我下次切换回来后 依然找不到 npm 我现在是直接在系统级安装了 yarn 但是在 webstorm 自带的 terminal 中就不方便了
    palmers
        13
    palmers  
    OP
       2021-04-16 14:04:35 +08:00
    @otakustay 嗯 我现在就全局安装 yarn 然后在外面的终端使用构建和本地启动
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1003 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 22:15 · PVG 06:15 · LAX 14:15 · JFK 17:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.