nodejs安装+踩坑报错解决

news2024/11/25 15:25:10
  1. 下载Node.js安装包
    官网下载地址:http://nodejs.cn/download/,根据自己电脑选择32位还是64位,
    下载地址
    选择合适的版本下载
    X86是32位的,X64是64位的,我们一般是下载win版X64的msi文件的是点击可以直接启动安装程序的。
  2. 打开下载好的安装程序,点击下一步
    在这里插入图片描述
  3. 选择接受许可协议,点击下一步在这里插入图片描述
  4. 选择自己的安装路径(默认是c盘,建议改为自己的其他常安软件的盘),选择完成后,点击下一步在这里插入图片描述
  5. 这里四项全部安装,点击下一步(无脑直接点下一步就行,默认这几项都是选好了的)在这里插入图片描述
  6. 这里不用打勾✔,下一步在这里插入图片描述
  7. 选择Install安装在这里插入图片描述
  8. 选择finish完成在这里插入图片描述
  9. win+R 打开运行窗口,在此窗口输入cmd命令在这里插入图片描述

进入命令提示符窗口,分别输入以下命令,显示版本号,则安装成功
node -v:显示安装的nodejs版本
npm -v:显示安装的npm版本在这里插入图片描述
10. 修改全局模块路径和缓存路径(可选,大家自行选择是否修改)
当我们在执行npm install express -g命令时,g表示global全局。会默认下载到c盘,c盘一般作为系统盘,尽量把一些程序安装到其他盘,来减少c盘空间的占用

它的默认路径为:【C:\Users\用户名\AppData\Roaming\npm】。
这里将全局模块(文件夹名:node_global)和缓存(文件夹名:node_cache)放在了nodejs安装目录下,在你的nodejs安装目录下创建创建两个文件夹,名称分别为:node_global和node_cache,在node_global文件夹下再建一个node_modules文件夹,配置环境变量用
在这里插入图片描述
此时,还没有更改完成,需要手动指定到这两个文件夹中
win+R打开运行窗口,输入cmd,再输入以下两条指令
npm config set prefix “创建的node_global文件夹所在路径”
npm config set cache “创建的node_cache文件夹所在路径”
例如

C:\Users\dyl>npm config set prefix "E:\nodejs\node_global"

C:\Users\dyl>npm config set cache "E:\nodejs\node_cache"

修改完毕后,再配置环境变量
右键此电脑——>高级系统设置——>环境变量
在系统变量中,新建,变量名:NODE_PATH 变量值:node_global文件夹下的node_modules文件夹。如:E:\develop\nodejs\node_global\node_modules
修改用户变量中的Path变量,将默认的npm路径修改为新建的node_global路径

这时环境基本上配置好了。

在实际实际打开项目后,通过npm i命令下载一些依赖时,会报一些错误
1、提示没有权限,则把nodejs文件右键属性,给它权限就可以在这里插入图片描述
2、node-sass总是报错,其中一个提示信息是Python版本的问题,使用npm安装node-sass时,或者安装需要python2的依赖时,会报出以下错误。

gyp verb check python checking for Python executable "python2" in the PATH
gyp verb `which` failed Error: not found: python2
gyp verb `which` failed     at getNotFoundError (E:\codes\proviet\client-nuxt\node_modules\which\which.js:13:12)
gyp verb `which` failed     at F (E:\codes\proviet\client-nuxt\node_modules\which\which.js:68:19)
gyp verb `which` failed     at E (E:\codes\proviet\client-nuxt\node_modules\which\which.js:80:29)
gyp verb `which` failed     at E:\codes\proviet\client-nuxt\node_modules\which\which.js:89:16
gyp verb `which` failed     at E:\codes\proviet\client-nuxt\node_modules\isexe\index.js:42:5
gyp verb `which` failed     at E:\codes\proviet\client-nuxt\node_modules\isexe\windows.js:36:5
gyp verb `which` failed     at FSReqCallback.oncomplete (fs.js:183:21)
gyp verb `which` failed  python2 Error: not found: python2
gyp verb `which` failed     at getNotFoundError (E:\codes\proviet\client-nuxt\node_modules\which\which.js:13:12)
gyp verb `which` failed     at E:\codes\proviet\client-nuxt\node_modules\isexe\index.js:42:5
gyp verb `which` failed     at E:\codes\proviet\client-nuxt\node_modules\isexe\windows.js:36:5
gyp verb `which` failed     at FSReqCallback.oncomplete (fs.js:183:21) {
gyp verb `which` failed   code: 'ENOENT'
gyp verb `which` failed }
gyp verb check python checking for Python executable "python" in the PATH
gyp verb `which` succeeded python C:\Program Files\python\python.EXE
gyp ERR! configure error
gyp ERR! stack Error: Command failed: C:\Program Files\python\python.EXE -c import sys; print "%s.%s.%s" % sys.version_info[:3];
gyp ERR! stack   File "<string>", line 1
gyp ERR! stack     import sys; print "%s.%s.%s" % sys.version_info[:3];
gyp ERR! stack                       ^
gyp ERR! stack SyntaxError: invalid syntax
gyp ERR! stack
gyp ERR! stack     at ChildProcess.exithandler (child_process.js:308:12)
gyp ERR! stack     at ChildProcess.emit (events.js:315:20)
gyp ERR! stack     at maybeClose (internal/child_process.js:1048:16)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5)
gyp ERR! System Windows_NT 10.0.19042
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "E:\\codes\\proviet\\client-nuxt\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd E:\codes\proviet\client-nuxt\node_modules\node-sass
gyp ERR! node -v v14.16.0

我的解决办法是自行安装Python2.7
安装完成后配置环境变量

npm config set python python2.7

再配置一下版本

npm config set msvs_version 2017

另一个解决方法在这里记录一下,不过我之前用这个解决不好用,可能分个人的环境吧。
解决方案二(推荐)
node-sass实在太坑了,之前遇到安装失败使用方法一完美解决。最近又一次遇到了,但是方法一又无效了。于是我又在网上找到另一个方法,就是用dart-sass来替换node-sass。
正常的替换也会出问题,还要改配置。使用以下方法便可以解决
yarn安装的:
yarn add node-sass@yarn:dart-sass -D

npm install node-sass@npm:dart-sass -D

3、使用淘宝镜像遇到的问题
会报错,因为淘宝的ssl证书过期了。
cmd下node -v 查看node是否已安装
安装淘宝镜像

npm install -g cnpm -registry=https://registry.npm.taobao.org

查看cnpm是否真安装成功 cnpm -v在这里插入图片描述
如果遇到这个错误,就是ssl证书的问题

npm ERR! code CERT_HAS_EXPIRED
npm ERR! errno CERT_HAS_EXPIRED
npm ERR! request to https://registry.npm.taobao.org/@handsontable%2fvue failed, reason: certificate has expired
 
npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\taylor\AppData\Roaming\npm-cache\_logs\2024-02-29T01_10_09_723Z-debug.log

解决方法
您可以尝试以下方法来解决这个问题:(一般只需要前两步就能解决问题)

1、清除npm缓存

npm cache clean --force

2、禁用SSL:虽然不推荐,但您可以暂时禁用SSL验证来解决这个问题。但请注意,这会降低安全性。您可以通过设置npm的 strict-ssl 选项为 false 来实现:

npm config set strict-ssl false

3、手动设置npm镜像源:有时,npm的默认镜像源可能会出现证书问题。您可以尝试切换到另一个镜像源,例如使用淘宝镜像。可以通过以下命令来设置:

npm config set registry https://registry.npm.taobao.org/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1930303.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

框架设计MVC

重点&#xff1a; 1.用户通过界面操作&#xff0c;传输到control&#xff0c;control可以直接去处理View&#xff0c;或者通过模型处理业务逻辑&#xff0c;然后将数据传输给view。 2.control包含了model和view成员。 链接&#xff1a; MVC框架详解_mvc架构-CSDN博客 MVC架…

使用 Python 爬虫实现自动获取天气信息并语音播报

简介 在本文中&#xff0c;我将介绍如何使用 Python 编写一个简单的爬虫程序&#xff0c;该程序可以自动获取某个城市的天气信息&#xff0c;并使用语音库将这些信息播报出来。我们将使用 pyttsx3 库进行语音播报&#xff0c;以及 requests 和 lxml 库来获取和解析网页数据。 …

深度刨析程序中的指针

前面我们已经学习过了指针的一下性质&#xff1a; 指针就是个变量&#xff0c;用来存放地址&#xff0c;地址唯一标识的一块内存空间指针的大小是固定的4/8个字节&#xff08;32位平台/64位平台&#xff09;指针是有类型&#xff0c;指针的类型决定了指针的加减整数的步长&…

C语言------指针讲解(2)

目录 一、数组名的理解 二、使用指针访问数组 三、一维数组传参的本质 四、冒泡排序 五、二级指针 六、指针数组 七、指针数组模拟二维数组 一、数组名的理解 通过学习&#xff0c;我们知道&#xff1a;数组名和数组首元素的地址打印出来的结果一模一样&#xff0c;数组…

C语言函数:编程世界的魔法钥匙(1)

目录 1.C语言中的函数是什么&#xff1f; 2.函数的分类&#xff1a; 2.1 标准库函数 2.1.1 库函数的诞生&#xff1a; 2.1.2 库函数的作用&#xff1a; 2.1.3 如何学习使用库函数 2.2 自定义函数 2.2.1 函数的组成&#xff1a; 2.2.2 自定义函数的优点 2.2.3 例题 3…

Windows下安装Mujoco1.50

Windows下安装Mujoco1.50复现强化学习论文 很多经典强化学习算法&#xff08;DDPG、PPO&#xff09;使用Mujoco环境进行实验和评估&#xff0c;配置复现环境非常困难&#xff0c;有以下几点原因&#xff1a; 年代久远&#xff0c;Mujoco-py的依赖管理做的不好&#xff0c;仅限…

Apache trino的ldap认证开启

作者&#xff1a;櫰木 1、背景 由于trino 默认没有开启用户认证体系&#xff0c;需要ldap用户进行认证。开启tls和ldap用户认证&#xff0c;提高安全性。 2、配置 前置条件。 trino 集群已经部署完成 ldap 服务 openjdk 版本大于11.0.17 生成证书 keytool -genkeypair…

实现异步天气数据获取与Spring缓存集成

你好呀&#xff0c;我是小邹。 在Web应用中&#xff0c;实时天气数据的获取是一个常见的需求&#xff0c;特别是在需要频繁更新天气信息的场景下&#xff0c;如旅游网站、天气应用或任何需要展示地理位置相关天气的应用。然而&#xff0c;频繁的外部API调用不仅会增加服务器的…

Hive理论讲解

Hive介绍 1、Hive本质 Hive本质是【数仓设计方案】&#xff0c;hive本身并不存储数据【数据包含&#xff1a;元数据 (表)数据】。 2、hql和sql对比 sql 结构化查询语言【structured query language】hql hive/hadoop类sql查询语言【hive/hadoop query language like sql…

工业三防平板可优化工厂流程管理

在当今高度自动化和数字化的工业生产环境中&#xff0c;工业三防平板正逐渐成为优化工厂流程管理的关键工具。其强大的功能和卓越的性能&#xff0c;为工厂带来了更高的效率、更低的成本以及更出色的质量控制。 工业三防平板&#xff0c;顾名思义&#xff0c;具备防水、防尘、防…

(01)Unity使用在线AI大模型(使用百度千帆服务)

目录 一、概要 二、环境说明 三、申请百度千帆Key 四、使用千帆大模型 四、给大模型套壳 一、概要 在Unity中使用在线大模型分为两篇发布&#xff0c;此篇文档为在Python中使用千帆大模型&#xff0c;整体实现逻辑是&#xff1a;在Python中接入大模型—>发布为可传参的…

eclipse 新建类class文件增加copyright版权信息

1、Window -> Preferences 2、输入code,找到code templates Java > Code Style > Code Templates 比如进行如何的设置&#xff1a; 3、新增类文件&#xff0c;会自动增加版权&#xff1a;

[Vulnhub] digitalworld.local-JOY snmp+ProFTPD权限提升

信息收集 IP AddressOpening Ports192.168.101.150TCP:21,22,25,80,110,139,143,445,465,587,993,995 $ nmap -p- 192.168.101.150 --21,22,25,min-rate 1000 -sC -sV PORT STATE SERVICE VERSION 21/tcp open ftp ProFTPD | ftp-anon: Anonymous FTP logi…

昇思25天学习打卡营第11天|NLP-LSTM-CRF序列标注

打卡 目录 打卡 序列标注 条件随机场(Conditional Random Field, CRF) SCORE计算 SCORE 计算的代码 Normalizer计算 Normalizer 计算的代码实现 Viterbi算法 CRF层组装 BiLSTMCRF模型 模型实例化 模型训练 模型预测 新造一个句子重新预测看效果 序列标注 序列标…

安装adb和常用命令

下载ADB安装包 https://dl.google.com/android/repository/platform-tools-latest-windows.zip 解压安装包 解压如上下载的安装包&#xff0c;然后复制adb.exe所在的文件地址 配置环境变量 我的电脑——>右键属性——>高级系统设置——>环境变量——>系统变量—…

solidity基础语法(以太坊solidity合约)

solidity基础语法&#xff08;以太坊solidity合约&#xff09; 1-值类型和取值范围2-引用类型3-引用类型高阶4-固定数组和动态数组 1-值类型和取值范围 https://learnblockchain.cn/docs/solidity/introduction-to-smart-contracts.html#subcurrency https://learnblockchain…

R语言包AMORE安装报错问题以及RStudio与Rtools环境配置

在使用R语言进行AMORE安装时会遇到报错&#xff0c;这时候需要采用解决办法&#xff1a; AMORE包安装&#xff0c;需要离线官网下载安装包&#xff1a; Index of /src/contrib/Archive/AMORE (r-project.org)https://cran.r-project.org/src/contrib/Archive/AMORE/ 一、出现…

MySQL第九次作业

1、安装redis&#xff0c;启动客户端、验证。 首先选择版本 进去之后是这样&#xff0c;一个是压缩包&#xff0c;一个是安装包 点击下载好的安装包&#xff0c;开始安装 选择“添加Redis目录到环境变量PATH中”&#xff0c;这样方便系统自动识别Redis执行文件在哪里。 其他一…

新版本 idea 创建不了 spring boot 2 【没有jkd8选项】

创建新项目 将地址换成如下 https://start.aliyun.com/

厂家置换电费如何达到最大化收益

新能源行业知识体系-------主目录-----持续更新https://blog.csdn.net/grd_java/article/details/140004020 文章目录 一、电能电费二、同时刻不同厂家置换&#xff0c;不会影响最终电能电费结果三、风险防范补偿和回收机制四、我们的数据如何考虑补偿和回收五、如何利用补偿和…