解决vue项目,运行npm install安装报缺少c++库问题

项目是前后端分离架构,前端使用的是vue框架,在部署前端项目时,需要下载安装一些基础的镜像配置,包括一些预处理,但是在使用npm install和yarn install命令时出现了如下错误,查阅资料总结如下:

1、前端项目部署之前,需要先准备两个环境:

  • 安装Node.js:https://nodejs.org/en/download
  • 安装Yarn:https://classic.yarnpkg.com/en/docs/install#windows-stable

2、报错问题

使用命令npm install安装插件,该命令会将package.json的devDependencies字段里的插件会被自动安装到node_modules下,但是报出了以下错误
在这里插入图片描述
使用命令yarn install --ignore-engines
在这里插入图片描述

3、错误原因

从上述可以看出报错是因为找不到Visual Studio编译环境,其实在此之前是找不到python编译环境。

  • 找不到python编译环境
gyp ERR! stack Error: Could not find any Python installation to use
  • 找不到Visual C++编译环境
gyp ERR! stack Error: Could not find any Visual Studio installation to use

npm安装工具底层依赖于Python和Visio Studio编译环境,出现上述情况大多情况下就是没有安装这两个编译环境,或者是版本不匹配造成的。以下是一些博主的知道安装博文,也可以自行在官网下载安装:

  • 在windows上安装visual studio

  • python的安装

  • 注意安装完成之后,需要将路径配置到环境变量中。如果你嫌麻烦也可以直接看下一步
    解决方案
    以管理员权限打开cmd,在项目目录下执行:npm install --global --production windows-build-tools

在这里插入图片描述
构建完成后,会在C:\Users\电脑用户名 目录下创建.windows-build-tools文件夹

在这里插入图片描述
npm install --global --production windows-build-tools此命令的作用就是全局安装所需要的默认编译环境,python和VS。

此命令完成后,也必须配置环境变量,将

  • C:\Users**.windows-build-tools\python27
  • C:\Users**.windows-build-tools\Microsoft VS Code\bin
    地址添加到path环境变量中。

如果经过上述操作还没有解决,其实我就是没有解决才总计到这一步的:

无奈之间我突然看到日志中的一个url:
我就点击去看了以下,顺便往下巴拉巴拉,突然看到了这个:
在这里插入图片描述
在这里插入图片描述
根据上述的猜测及推断,既然报错原因是:Error: Could not find any Visual Studio installation to use
那肯定是编译的时候找不到对应的Visual Studio版本路径,所以才无法使用报错。

我安装的VS是目前的最新版本2022,执行以下命令:

npm config set msvs_version 2022

这次我信誓旦旦的重新npm install和yarn install --ignore-engines,结果再次打脸,现实淹没理想就是这么快,依然报一样的错误,心态有点蹦了!!!

我想了很久,该安装的环境我都安装了,也没有亏待它,到底是哪出错了!!!

我不自觉的点了根烟,唏嘘着,回忆着这一天一步步的bug和坑。

这次我又突然想到,刚才上述执行命令npm install --global --production windows-build-tools时,默认下载的python安装包是2.7,而我本地安装的是最新版本3.10,报错日志中找不到Visual Studio,默认2017和2015版本的,而我本地安装的是最新2022版本的。

然后我就赶紧找相关资料,发现部分npm组件在安装时只支持python2.X版本,而系统默认的是python3.X,而我恰巧安装的也是python3.X,Visual Studio2019和2015、2017的差距不是很大,但是最好不要用最新版的,因为很多组件都是中期版本,不算太老,但是很多时候也不能兼容最新版本。

既然这些环境的版本受限制,那么nodejs估计也会受一定的影响,我本地安装的是14.X的相对也是较高的,所以我也趁着将nodejs降低版本重新安装,采用12.X的。

4、综上考虑,重新更换基础环境版本:

nodejs12.X
Python2.X
Visual Studio2019
最好是官网下载手动安装配置环境变量!!!

终极测试
上述环境配置完成后,小心翼翼的打开项目cmd窗口,执行npm install
在这里插入图片描述
在这里插入图片描述
再执行命令yarn install --ignore-engines
在这里插入图片描述
看到这我这一把老脸真是欣慰良久,我嘞老天爷哎,成功了!!!

5、最后总结

一个搞后端的,说实话搞前端是真折磨人,这种感觉就跟那啥昂,你想想,后端报错最起码知道从哪入手去排错,这前端TM报个错,千篇一律,比那啥还那啥,说实话真憋屈,这辈子不会搞前端。

不过经过这一天的排错,改bug,也算是有一点小收获,不管是啥bug,只要耐着性子去找,就一定能够找到解决。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

你的隐私堪忧!彻底清空磁盘,只需要1行Python代码

大家好,这是程序员晚枫。 今天给大家分享Python自动化办公的第81个功能:彻底抹除磁盘的使用记录。 使用场景 哪怕你不是明星,每次换电脑的时候,也会很头疼硬盘里的数据怎么彻底删除。 因为只是简单的右键删除,市面…

Linux 安装 Gitblit

1.下载Gitblit 官网地址:Gitblit,目前最新的是1.9.3 2.上传到服务器 ①在服务器上新建目录:/usr/local/gitblit ②将下载的文件上传到服务器:/usr/local/gitblit/gitblit-1.9.3.tar.gz ③解压文件: cd /usr/local…

vue3学习(更新中)

目录 创建一个vue应用编写APP组件main.tsAPP.vue setupref和reactiverefreactive toRefs和toReftoRefstoRef computedwatch和watchEffect标签的ref属性ts接口范型-自定义类型props的使用生命周期pina搭建pina环境存储读取数据 创建一个vue应用 npm create vuelatest 编写APP组…

【Java核心能力】高并发在简历上如何体现?

欢迎关注公众号(通过文章导读关注:【11来了】),及时收到 AI 前沿项目工具及新技术的推送! 在我后台回复 「资料」 可领取编程高频电子书! 在我后台回复「面试」可领取硬核面试笔记! 文章导读地址…

力扣大厂热门面试算法题 12-14

12. 整数转罗马数字,13. 罗马数字转整数,14. 最长公共前缀,每题做详细思路梳理,配套Python&Java双语代码, 2024.03.11 可通过leetcode所有测试用例。 目录 12. 整数转罗马数字 解题思路 完整代码 Java Pytho…

​LeetCode解法汇总1261. 在受污染的二叉树中查找元素

目录链接: 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:. - 力扣(LeetCode) 描述: 给出一个满足下述规则的二叉树&#xff1…

基于SpringBoot的“医院信管系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“医院信管系统”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 功能结构图 系统首页界面图 用户注册界面图 医生…

基于Android的教学课程系统设计与开发

摘 要 移动应用已经成为人们生活必不可缺的一部分,大学生身为移动应用的最大用户群体,在生活学习娱乐各个方面都与移动应用有着紧密联系,然而针对大学生校园学习的移动应用却寥寥无几,因为不同的学校,甚至不同的院系&…

java guide 八股

Java语言特点 简单易学、面向对象(继承、封装、多态)、平台无关性(Java虚拟机jvm)、支持多线程、可靠、安全、高效、支持网络编程、编译与解释共存 JVM:Java虚拟机(跨平台的关键) JRE&#xff…

【maven下载、安装、配置教程】

一、下载 maven 官网:Maven – Download Apache Maven 注意:idea 和 maven 的版本问题,不然 idea 启动项目会发生兼容性错误。如 2020 版本 idea 支持 3.6.3 左右的 maven 版本,用 3.9版本的 maven 会报错。 二、配置maven全局配置…

探索AI时代“芯”路径 软通动力子公司鸿湖万联助阵第八届瑞芯微开发者大会

3月7日-8日,第八届瑞芯微开发者大会(RKDC2024)在福州成功举办,大会以“AI芯片AI应用AloT”为主题,通过芯片应用及生态伙伴的技术展示、产品和技术论坛等系列活动串联,吸引数千名开发者、合作伙伴以及行业专…

Linux文件与文件系统的压缩

文章目录 Linux文件与文件系统的压缩Linux系统常见的压缩命令gzip,zcat/zmore/zless/zgrepbzip2,bzcat/bzmore/bzless/bzgreppxz,xzcat/xzmore/xzless/xzgrepgzip,bzip2,xz压缩时间对比打包命令:tar打包命令…

Java基础-接口

文章目录 1.快速入门代码:结果: 2.接口基本介绍1.语法注意:在jdk1.8以后接口才可以有静态方法,默认方法 2.代码实例 3.接口的应用场景1.场景介绍2.代码实例4.接口使用细节 5.接口课堂练习题目:答案:注意&am…

【快速上手QT】08-Buttons组件

我们差不多把QT的基础部分讲差不多了。接下来我们把一些组件介绍一下,最后再开始QT的进阶部分,需要先把基础打牢嘛,也当是练习练习怎么使用QT助手了。 就按照QtDesigner里的顺序,今天我们讲一讲Buttons,也就是按钮组件…

Linux命令深入学习——列出帮助手册,开机关机

linux中有多种方法查看一个不熟悉命令的详细信息,如 ls --help,help ls,man ls,info ls 在linux系统中可以使用命令进行开关机以及相关基础操作 同时在进行写入操作时,可以使用快捷键进行操作

微信小程序(一)

WebView app.是全局配置&#xff0c;app.json是全局配置文件&#xff0c;在页面的.json配置文件中的配置会覆盖我们全局的配置 快捷键&#xff1a; .box 敲回车 ----- <view class"box"></view> .row*8 敲回车&#xff1a; .row{$}*8 敲回车 案例1&…

深入浅出Java泛型

公众号「稀有猿诉」 原文链接 深入浅出Java泛型 温故而知新&#xff0c;可以为师矣&#xff01; 在前面的一篇文章中学习了Kotlin的泛型知识&#xff0c;但总感觉还不够深入&#xff0c;因为一些深入的话题和高级的特性并未有讲清楚。但在继续深入之前还是有必要重温一下…

吴恩达深度学习笔记:神经网络的编程基础2.5-2.8

目录 第一门课&#xff1a;神经网络和深度学习 (Neural Networks and Deep Learning)第二周&#xff1a;神经网络的编程基础 (Basics of Neural Network programming)2.5 导数&#xff08;Derivatives&#xff09; 第一门课&#xff1a;神经网络和深度学习 (Neural Networks an…

04-微服务 面试题

目录 1.Spring Cloud 常见的组件有哪些? 2.服务注册和发现是什么意思?(Spring Cloud 如何实现服务注册发现) 3.你们项目负载均衡如何实现的 ? 4.什么是服务雪崩,怎么解决这个问题? 5.你们服务是怎么监控的? 6.微服务限流(漏桶算法、令牌桶算法) 7.解释一下CAP…

scrapy的基本使用介绍

创建项目 ### 1. 创建虚拟环境 conda create -n spiderScrapy python3.9 ### 2. 安装scrapy pip install scrapy2.8.0 -i https://pypi.tuna.tsinghua.edu.cn/simple### 3. 生成一个框架 scrapy startproject my_spider### 4. 生成项目 scrapy genspider baidu https://www.b…