当前位置: 首页 > article >正文

关于node安装和nvm安装的问题

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

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 命令。

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版本

尽管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源,并避免频繁地切换源带来的困扰。


http://www.kler.cn/a/135730.html

相关文章:

  • AI写作(四)预训练语言模型:开启 AI 写作新时代(4/10)
  • WebStorm 如何调试 Vue 项目
  • Flink API 的层次结构
  • 使用Matlab神经网络工具箱
  • 论文分享:DiskANN查询算法
  • Vue 中的定时刷新与自动更新实现
  • 《缺氧》笔记整理
  • AIGC ChatGPT 4 将数据接口文件使用Python进行入库Mysql
  • 信息安全相关标准
  • 新人报到
  • 【仿真动画】ABB IRB 8700 机器人搬运(ruckig在线轨迹生成)动画欣赏
  • 场景交互与场景漫游-交运算与对象选取(8-1)
  • 微服务实战系列之Token
  • 深度学习二维码识别 计算机竞赛
  • 黑马程序员 计算机网络(笔记)
  • Hello World分析
  • iceberg学习笔记(2)—— 与Hive集成
  • webSocket基于面向对象二次封装
  • vue3基于vite打包
  • echarts 折线图内容区域渐变、曲线平滑
  • MyBatis 事务源码分析
  • 2024年软件测试面试必看系列,看完去面试你会感谢我的!!
  • [Jenkins] Docker 安装Jenkins及迁移流程
  • nginx代理本地服务请求,避免跨域;前端图片压缩并上传
  • ajax,axios,fetch
  • Nodejs--Express框架使用