关于node安装和nvm安装、多项目同时启动不同node版本的问题

node

1.已经自定义路径安装了node,但是在cmd输入node -v显示不是内部命令

  1. 路径问题:确保 Node.js 已经被添加到了系统的环境变量 PATH 中。PATH 环境变量包含了操作系统用来查找命令的位置。你可以通过以下步骤检查 Node.js 是否已被添加到 PATH:
    1. 在 Windows 上,打开命令提示符,输入 echo %PATH% 并回车。你应该能在输出中看到 Node.js 的安装目录,通常是类似 C:\Program Files\nodejs 这样的路径。
    2. 在 Linux 或 macOS 上,打开终端,输入 echo $PATH 并回车。同样,你应该能看到 Node.js 的安装目录。
    3. 如果你没有看到 Node.js 的安装目录,你需要将其添加到 PATH 中。具体的操作取决于你的操作系统和 shell,但通常包括修改 .bashrc.zshrc 或者 .profile 文件,或者通过系统设置面板来添加环境变量。

  2. 多个版本的 Node.js 共存:如果你同时安装了多个版本的 Node.js,你可能需要使用 nvm 或 nodist 等工具来管理它们。这些工具可以帮助你在不同的版本之间切换,并确保正确的版本出现在 PATH 中。

  3. Node.js 安装损坏:有时,Node.js 可能会因为各种原因而损坏。在这种情况下,你可能需要卸载现有的 Node.js 版本,然后再重新安装。

最直接的方法就是选择卸载重装

nvm

  1. nvm的工作原理:nvm允许用户在同一台机器上安装多个版本的Node.js,并可以轻松地切换版本。每个Node.js版本都有其自己的全局node_modules目录,这意味着为每个版本安装的包都是独立的。

  2. 包与Node.js版本的兼容性:Node.js的每个版本都可能引入新的API、功能或修改现有功能。因此,为特定版本开发的包可能依赖于该版本的特定功能或API。如果尝试在其他版本的Node.js中使用这些包,可能会遇到兼容性问题,如运行时错误或功能缺失。

  3. 使用特定版本的Node.js:当使用nvm切换到特定版本的Node.js时,npm(Node Package Manager)将使用该版本的全局node_modules目录。这意味着只能访问为该版本安装的包。如果需要在其他版本的Node.js中使用相同的包,则需要在该版本下重新安装这些包。

nvm 安装的node存放在哪个目录 

NVM (Node Version Manager) 是一个 Node.js 版本管理器,它允许你在不同版本的 Node.js 之间切换,并且每次安装 Node.js 都是独立的,不会影响到全局的 Node.js 版本。 默认情况下,NVM 将每个安装的 Node.js 版本存储在以下位置:

  • Windows: %AppData%\nvm\versions\node
  • macOS/Linux: ~/.nvm/versions/node

这个目录下的每一个子目录都代表一个单独安装的 Node.js 版本。你可以使用 ls ~/.nvm/versions/node (在 macOS 或 Linux 上)或 dir %AppData%\nvm\versions\node (在 Windows 上)命令查看当前安装的所有 Node.js 版本。 你可以通过 NVM 切换到任何一个已安装的 Node.js 版本,如下所示:

nvm use <version>

其中 <version> 是你想使用的 Node.js 版本号。如果你想使用最新版本,可以省略版本号。 如果你只想知道当前正在使用的 Node.js 的版本信息,可以使用 nvm versionnode -v 命令。

切换版本报错exit status 1: 一堆乱码

  1. nvm off (关闭版本控制)
  2. nvm on(开启)
  3. nvm use xxx

nvm 安装了node,使用时显示not install

  1. 首先,检查你是否真的已经安装了那个版本。你可以运行 nvm list 来列出所有可用的 Node.js 版本。如果没有显示你想要的那个版本,那么你需要使用 nvm install <version> 命令来安装它。例如,如果你想安装 Node.js v14.17.3 版本,可以运行 nvm install 14.17.3
  2. 如果你确定已经安装了该版本,但仍然看到 "Not Installed" 错误,那可能是由于 NVM 配置文件有问题。在你的主目录中(通常是 ~ 或 %USERPROFILE%),你应该有一个 .nvm 目录,其中包含一个 settings.txt 文件。打开这个文件,并确保其中有 node_mirror 和 npm_mirror 这两个选项,分别指向一个有效的 Node.js 和 npm 镜像站点。例如,可以设置 node_mirror=https://npm.taobao.org/mirrors/node/npm_mirror=https://npm.taobao.org/mirrors/npm/
  3. 最后,确保你的计算机上的路径变量已设置正确。在 Windows 上,你需要把 NVM bin 目录添加到系统环境变量 PATH 中;在 Linux 或 macOS 上,你需要在 ~/.bashrc 或 ~/.zshrc 文件中添加一行 export PATH="$HOME/.nvm/versions/node/<version>/bin:$PATH" ,其中 <version> 替换成你要使用的 Node.js 版本号。

nvm 安装了某个node版本,使用时检查发现没有npm

npm 是随同 Node.js 一起安装的,并且它位于与 Node.js 相同的安装目录下。没有npm此时有以下两种方法

  • 重装该版本的node
    // 卸载指定版本的 Node.js
    nvm uninstall <version>
    
    // 安装最新的 nvm 版本
    nvm install node
  • 使用 nvm 安装 Node.js 版本时,添加 --with-npm 参数
     

    nvm install 版本号 --with-npm

 nvm切换Node.js版本npm报错

尽管nvm可以切换Node.js版本,但是不能为每个Node.js版本设置不同的npm版本。当使用nvm切换到某个版本的Node.js时,它只会使用该版本自带的npm版本。如果需要不同版本的npm,可能需要在每个版本中安装对应的npm,但是这非常麻烦。更好的做法是在全局环境下安装所需要的npm版本,并在项目中指定版本。

  1. 在当前环境中全局安装npm,使用如下命令:
    npm install -g npm@version-number
  2. 在项目中设置npm版本。打开项目的 package.json 文件,添加以下字段:
    "engines": {
      "npm": "version-number"
    }

nrm

nvm主要用于切换Node.js版本,而nrm则可以更快地下载npm包。

使用nvm切换Node.js版本时,先前设置的npm源可能会受到影响。因为nvm改变了 Node.js 版本,而每个 Node.js 版本默认的npm源可能不同,所以在切换Node.js版本之后,npm源可能会变回原来的源,但是,你可以在.nvmrc文件中设置全局npm源来避免这个问题。在.nvmrc文件中添加一句代码`registry=https://registry.npm.taobao.org`即可设置npm源。同时,nvm也有自己的npm源管理功能,在切换node版本时,npm源也会随之更改。
可以通过以下命令来更改nvm中的npm源:

nvm alias default registry https://registry.npm.taobao.org

请注意,每个版本的Node.js都有自己的npm源,并且可能不同,因此,你需要确保全局npm源与Node.js版本对应的npm源是一致的。如果希望使用特定npm源,最好在每个Node.js版本下都使用相应的npm源。

nvm与nrm配合使用的方式如下:

  1. 首先安装nvm和nrm,具体方式可以参考相关教程。
  2. 使用nvm切换到某个版本的Node.js,例如 nvm use v14.17.0
  3. 使用nrm设置npm源,例如 nrm use taobao
  4. 再次切换回之前使用的Node.js版本,例如 nvm use v14.16.0
  5. 再次使用nrm设置npm源,例如 nrm use npm

以上操作会在每个版本中设置不同的npm源。注意,当切换到某个Node.js版本时,需要手动设置相应的npm源,除非你在.nvmrc文件中定义了npm源,这样会自动使用nrm配置的源。
注意,如果要在全局范围内设置npm源,可以将nvm设置为.nvmrc文件,如上面所述,但不推荐这么做。建议每个项目单独设置npm源,以保持灵活性和安全性。
nvm和nrm是一个非常好的组合,能够更好地管理Node.js版本和npm源,并避免频繁地切换源带来的困扰。

nvm-desktop

nvm-desktop 是一个以可视化界面操作方式管理多个 Node 版本的桌面应用,完美支持为不同的项目单独设置和切换 Node 版本,不依赖操作系统的任何特定功能和 shell。

liushiwei/nvm-desktop (gitee.com)

  • 6
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值