关于node安装和nvm安装的问题
node
1.已经自定义路径安装了node,但是在cmd输入node -v显示不是内部命令
- 路径问题:确保 Node.js 已经被添加到了系统的环境变量 PATH 中。PATH 环境变量包含了操作系统用来查找命令的位置。你可以通过以下步骤检查 Node.js 是否已被添加到 PATH:
- 在 Windows 上,打开命令提示符,输入
echo %PATH%并回车。你应该能在输出中看到 Node.js 的安装目录,通常是类似C:\Program Files\nodejs这样的路径。- 在 Linux 或 macOS 上,打开终端,输入
echo $PATH并回车。同样,你应该能看到 Node.js 的安装目录。如果你没有看到 Node.js 的安装目录,你需要将其添加到 PATH 中。具体的操作取决于你的操作系统和 shell,但通常包括修改
.bashrc、.zshrc或者.profile文件,或者通过系统设置面板来添加环境变量。多个版本的 Node.js 共存:如果你同时安装了多个版本的 Node.js,你可能需要使用 nvm 或 nodist 等工具来管理它们。这些工具可以帮助你在不同的版本之间切换,并确保正确的版本出现在 PATH 中。
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 version或node -v命令。
nvm 安装了node,使用时显示not install
- 首先,检查你是否真的已经安装了那个版本。你可以运行
nvm list来列出所有可用的 Node.js 版本。如果没有显示你想要的那个版本,那么你需要使用nvm install <version>命令来安装它。例如,如果你想安装 Node.js v14.17.3 版本,可以运行nvm install 14.17.3。- 如果你确定已经安装了该版本,但仍然看到 "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/。- 最后,确保你的计算机上的路径变量已设置正确。在 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版本,并在项目中指定版本。
- 在当前环境中全局安装npm,使用如下命令:
npm install -g npm@version-number- 在项目中设置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配合使用的方式如下:
- 首先安装nvm和nrm,具体方式可以参考相关教程。
- 使用nvm切换到某个版本的Node.js,例如 nvm use v14.17.0
- 使用nrm设置npm源,例如 nrm use taobao
- 再次切换回之前使用的Node.js版本,例如 nvm use v14.16.0
- 再次使用nrm设置npm源,例如 nrm use npm
以上操作会在每个版本中设置不同的npm源。注意,当切换到某个Node.js版本时,需要手动设置相应的npm源,除非你在.nvmrc文件中定义了npm源,这样会自动使用nrm配置的源。
注意,如果要在全局范围内设置npm源,可以将nvm设置为.nvmrc文件,如上面所述,但不推荐这么做。建议每个项目单独设置npm源,以保持灵活性和安全性。
nvm和nrm是一个非常好的组合,能够更好地管理Node.js版本和npm源,并避免频繁地切换源带来的困扰。
相关文章:
关于node安装和nvm安装的问题
node 1.已经自定义路径安装了node,但是在cmd输入node -v显示不是内部命令 路径问题:确保 Node.js 已经被添加到了系统的环境变量 PATH 中。PATH 环境变量包含了操作系统用来查找命令的位置。你可以通过以下步骤检查 Node.js 是否已被添加到 PATH&#x…...
react 手机端 rc-table列隐藏(根据相关条件是否隐藏)、实现图片上传操作
最近公司某一项目的手机端,新增需求:table中的附件要可以编辑,并且是在特定条件下可编辑,其他仅做展示效果。 查阅官方文档,没有发现是否隐藏这一属性,通过css控制样式感觉也比较麻烦,后面发现可…...
目标检测YOLO系列从入门到精通技术详解100篇-【目标检测】三维重建
目录 前言 几个高频面试题目 “基于RGB-D相机的三维重建"和传统的SFM和SLAM算法有什么区别?...
H110主板搭配魔改QNCW升级小记
最近搬家完毕,翻出来一块闲置已久的qncw,隐约记得是买的主板套装,现在主板早已不知踪影,剩下孤零零一个CPU,一起翻出来一个G3900T亮机CPU,应该是同时代的产物。 qncw百度上一搜,发现参数还行&am…...
Rust8.2 Fearless Concurrency
Rust学习笔记 Rust编程语言入门教程课程笔记 参考教材: The Rust Programming Language (by Steve Klabnik and Carol Nichols, with contributions from the Rust Community) Lecture 16: Fearless Concurrency 无畏并发 src/main.rs use std::thread; use std::time::Du…...
合并两个有序链表(冒泡排序实现)
实例要求:将两个升序链表合并为一个新的 升序 链表并返回;新链表是通过拼接给定的两个链表的所有节点组成的;实例分析:先拼接两个链表,在使用冒泡排序即可;示例代码: struct ListNode* mergeTwo…...
【iOS】——知乎日报第五周总结
文章目录 一、评论区展开与收缩二、FMDB库实现本地持久化FMDB常用类:FMDB的简单使用: 三、点赞和收藏的持久化 一、评论区展开与收缩 有的评论没有被回复评论或者被回复评论过短,这时就不需要展开全文的按钮,所以首先计算被回复评…...
gRPC 四模式之 双向流RPC模式
双向流RPC模式 在双向流 RPC 模式中,客户端以消息流的形式发送请求到服务器端,服务器端也以消息流的形式进行响应。调用必须由客户端发起,但在此之后,通信完全基于 gRPC 客户端和服务器端的应用程序逻辑。 为什么有了双向流模式…...
五分钟,Docker安装kafka 3.5,kafka-map图形化管理工具
首先确保已经安装docker,如果是windows安装docker,可参考 wsl2安装docker 1、安装zk docker run -d --restartalways -e ALLOW_ANONYMOUS_LOGINyes --log-driver json-file --log-opt max-size100m --log-opt max-file2 --name zookeeper -p 2181:218…...
2023.11.18html中如何使用input/button进行网页跳转
2023.11.18html中如何使用input/button进行网页跳转 在做网页时有时会用元素,有时会用元素进行form表单操作或者网页跳转,但是用bootstrap时两种元素会出现不同的样式,为了样式一致,有时需要使用这两种元素相互实现其常用功能。 …...
java文件压缩加密,使用流的方式
使用net.lingala.zip4j来进行文件加密压缩。 添加依赖net.lingala.zip4j包依赖,这里使用的是最新的包2.11.5版本。 <dependency><groupId>net.lingala.zip4j</groupId><artifactId>zip4j</artifactId><version>${zip4j.versi…...
月子会所信息展示服务预约小程序的作用是什么
传统线下门店经营只依赖自然流量咨询或简单的线上付费推广是比较低效的,属于靠“天”吃饭,如今的年轻人学历水平相对较高,接触的事物或接受的思想也更多更广,加之生活水平提升及互联网带来的长期知识赋能,因此在寻找/咨…...
Windows核心编程 静态库与动态库
资源文件 .rc 文件 会被 rc.exe 变成 .res 文件(二进制文件) 在链接时链接进入 .exe 文件 一、如何保护源码 程序编译链接过程 不想让别人拿到源代码,但是想让其使用功能,根据上图观察,把自己生成的obj给对方,对方拿到obj后&…...
【Spring Boot】如何自定义序列化以及反序列器
在我们使用默认的消息转换器,将java的Long类型通过json数据传输到前端JS时,会导致Long类型的精度丢失,这是因为JS处理Long类型数字只能精确到前16位,所以我们可以采用自定义序列化方式将Long类型数据统一转为String字符串…...
6 Redis的慢查询配置原理
1、redis的命令执行流程 redis的慢查询只针对步骤3 默认情况下,慢查询的阈值是10ms...
JAVA小游戏 “拼图”
第一步是创建项目 项目名自拟 第二部创建个包名 来规范class 然后是创建类 创建一个代码类 和一个运行类 代码如下: package heima; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import …...
Spring 配置
配置文件最主要的目的 : 解决硬编码的问题(代码写死) SpringBoot 的配置文件,有三种格式 1.properties 2.yaml 3.yml(是 yaml 的简写) SpringBoot 只支持三个文件 1.application.properties 2.application.yaml 3.application.yml yaml 和 yml 是一样的,学会一个就行…...
全新酷盒9.0源码:多功能工具箱软件的最新iapp解决方案
全能工具箱软件酷盒:源码提供iapp解决方案,自定义打造个性化体验 酷盒是一款功能丰富的工具箱软件,内置众多实用功能,并实时更新热门功能。该软件还拥有丰富的资源库,用户可以在线畅玩游戏、免费下载音乐等。 我们提…...
aspose.cells java合并多个excel
背景 有需求需要把多个excel合并到一个excel文件里面,之前一直都是用python来处理办公自动化的东西,但是这个需求用python的openxyl库处理基本只能合并数据,样式没办法一比一合并过去,找了很多解决方案都没法实现,所以…...
【每日一题】三个无重叠子数组的最大和
文章目录 Tag题目来源题目解读解题思路方法一:滑动窗口 写在最后 Tag 【滑动窗口】【数组】【2023-11-19】 题目来源 689. 三个无重叠子数组的最大和 题目解读 解题思路 方法一:滑动窗口 单个子数组的最大和 我们先来考虑一个长度为 k 的子数组的最…...
用Python手把手实现投影梯度下降(PGD):从SVM到LASSO的实战避坑指南
用Python手把手实现投影梯度下降(PGD):从SVM到LASSO的实战避坑指南 当数据科学家面对带约束的优化问题时,传统梯度下降往往束手无策。投影梯度下降(Projected Gradient Descent, PGD)就像一位精准的导航员,每次迭代后…...
MogFace-large模型版本管理实践:使用Docker镜像实现环境一致性
MogFace-large模型版本管理实践:使用Docker镜像实现环境一致性 你是不是也遇到过这样的场景?在本地电脑上跑得好好的MogFace-large人脸检测模型,一放到同事的机器或者服务器上,就各种报错:CUDA版本不对、Python包冲突…...
当你的手柄在Windows上“水土不服“时,内核级虚拟化如何解决问题?
当你的手柄在Windows上"水土不服"时,内核级虚拟化如何解决问题? 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus 你是否曾经…...
实战指南:运用快马平台生成集成homebrew的一键式全栈应用本地部署脚本
最近在折腾一个前后端分离的小项目,后端用Node.jsRedis,前端是React。为了让团队其他成员能快速在本地跑起来,我研究了下如何用Homebrew配合脚本实现一键部署。这里分享下我的实战经验,整个过程在InsCode(快马)平台上测试验证过&a…...
Max抢票机器人:2025终极抢票神器,让热门门票不再错过
Max抢票机器人:2025终极抢票神器,让热门门票不再错过 【免费下载链接】tix_bot Max搶票機器人(maxbot) help you quickly buy your tickets 项目地址: https://gitcode.com/gh_mirrors/ti/tix_bot 还在为抢不到演唱会门票而烦恼吗?每次…...
使用cv_unet_image-colorization增强电商商品图像的实践
使用cv_unet_image-colorization增强电商商品图像的实践 电商平台中,商品图像的质量直接影响消费者的购买决策。本文将分享如何利用cv_unet_image-colorization模型,为老商品图上色、提升低质图像质量,从而显著改善商品展示效果。 1. 电商图像…...
书匠策AI:学术江湖里的“论文剑客”,助你披荆斩棘!
书匠策AI官网:www.shujiangce.com | 微信公众号搜一搜:书匠策AI 在学术的江湖里,写期刊论文就像是一场“闯关游戏”——选题、查文献、搭框架、写内容、调格式……每一关都充满挑战,稍有不慎就可能“Game Over”。但别怕…...
MouseOverShapeBox
MouseOverShapeBox MouseOverShapeBox 源码详解 - 鼠标悬停高亮标注框 这是一个增强版图像标注控件,当鼠标移动到形状上时,会高亮显示该形状。类似于图片标注工具中鼠标悬停时边框变色的效果。📄 文件头部(版权信息) /…...
Linux 五大 I/O 模型深度解析
在构建高并发、高性能的后端系统时(如各种中间件、Web 服务器),我们不可避免地会接触到 I/O(Input/Output)模型。很多开发者对 BIO、NIO、AIO 以及多路复用等概念感到混淆。要真正从底层掌握这些模型,我们需…...
如何利用 SEO 标题和关键词提高网站可发现性_如何利用 SEO 标题和关键词进行分析和优化
如何利用 SEO 标题和关键词提高网站可发现性 在当今的数字化时代,网站的可发现性直接关系到其流量和成功。在这个竞争激烈的环境中,搜索引擎优化(SEO)成为了提高网站可发现性的关键。其中,SEO标题和关键词的运用尤为重…...
