npm安装心得(依赖库Python及node-sass依赖环境)

在使用vue的开发环境过程中,总会遇到这样哪样的安装或者打包错误,

vue运行或打包常见错误如下:
1. npm install时 node-sass npm ERR command failed (可能是node.js的版本和node-sass的版本不符,就是卸掉原来的node.js,下载一个符合node-sass版本的node.js)
2. npm run build无法打包的可能原因 npm ERR! missing script: build  (package.json中scripts参数为"build:prod": "vue-cli-service build",所以换命令打包:npm rum build:prod)
3. npm WARN npm Supported releases of Node.js are the latest release of 6, 8, 9, 10, 11.  (据自己的node版本来更新npm 版本npm -g install npm@6.14.8 ,如果仍然报错,依旧显示npm 不支持这个版本 ,这说明npm存在旧的npm缓存,还是旧的npm 环境
此时需要到C:\Users\administrator\AppData\Roaming 根目录下删除npm和npm-cache两个文件夹)

4. npm install时 node-sass npm ERR command failed问题解决 (卸载当前版本的node-sass和sass-loader,因为版本和当前的不兼容,安装对应版本的包即可。)
5. Syntax Error: Error: PostCSS received undefined instead of CSS string (卸载当前版本的node-sass和sass-loader,因为版本和当前的不兼容,安装对应版本的包即可。)
6. npm ERR! gyp ERR! find Python Python is not set from command line or npm con 
7. npm ERR! gyp verb check python checking for Python executable "python2" in the PATH  (通过npm指令安装对应版本的python(建议方式): npm install --global --production windows-build-tools)
8. npm install时报错 gyp ERR! stack Error: Can't find Python executable "2.7"  (通过npm指令安装对应版本的python(建议方式): npm install --global --production windows-build-tools)
9.使用npm下载直接卡死,超简单解决办法(放大缩小cmd命令窗口或者ctrl+c可中断错误,继续重试脚本)


在install这些框架时,往往还需要安装其要求的依赖,或是相关的编译环境,下面将记录描述下python和node-sass的安装办法:

(一) python安装:
1.官网下载安装包,传统安装,然后配置相关环境变量

2.在安装了node但是为安装python的前提下,通过npm指令安装对应版本的python(建议方式):

    npm install --global --production windows-build-tools   (会自动安装对应python)


对于非python玩家,建议方式二安装python环境,该方式,node会为你匹配对应node版本的python,这样将避免后续使用中的版本过高或过低造成的编译失败问题,比如node16+在python2.x下编译会抛出version问题。

(二) node-sass安装
node-sass的安装有很多方式,在此我仅介绍一种(多次尝试,这种方式最方便稳定,适合node8.x以上版本,现在大多数是node-v14以上的版本了,直接执行以下安装命令吧)

npm install --save node-sass --registry=https://registry.npm.taobao.org --disturl=https://npm.taobao.org/dist --sass-binary-site=https://npm.taobao.org/mirrors/node-sass/ 

 –registry=https://registry.npm.taobao.org 淘宝npm包镜像
–disturl=https://npm.taobao.org/dist   淘宝node源码镜像,一些二进制包编译时用
–sass-binary-site=http://npm.taobao.org/mirrors/node-sass  这个才是node-sass镜像

 

另外一种设置全局镜像源命令适合node 8.x 以下版本
npm config set sass_binary_site https://npm.taobao.org/mirrors/node-sass/
npm config set registry=https://registry.npm.taobao.org  

 

如果嫌国外npm不好用,可以尝试安装cnpm,完全等同于npm, 
1.先全局安装cnpm
    npm install -g cnpm --registry=https://registry.npm.taobao.org
2.利用淘宝的npm镜像安装node-sass
   cnpm install node-sass

CNPM 是中国 npm 镜像的客户端,支持所有 npm命令。

安装nodejs环境(自带安装npm):
---------------------------------------------------------------------
在NodeJS官网(https://nodejs.org/)下载安装合适的版本

https://nodejs.org/dist/v14.17.1/  node-v14.17.1 对应npm版本 6.14.13(依赖python2.7x) 

https://nodejs.org/dist/v16.9.1/   node-v16.9.1 对应npm版本 8.19.2(依赖python3.8x)

https://nodejs.org/dist/v18.17.1/  (太新了,不推荐) 

npm常见命令:
---------------------------------------------------------------------
npm insall  (安装失败的话,删除目录下的node_modules文件夹)

npm run dev  

npm rum serve

npm uninstall -g @vue/cli  安装打包命令cli

npm install -g @vue/cli

npm list webpack  查看包 


npm cache clean --force  清理缓存 

npm start

npm run dev:只是用来调试的,开发就够了;

补充说明:
有一个相似的命令就是下面这个,也是用来搭建环境的,但有一点小区别,具体情况具体额分析。
npm run build:你想用提交小程序版本的时候,运行,然后代码都会被压缩,提交的时候就更小了。
 

gyp ERR stack Error: Can ‘t find Python executable python2.7, you can set the PYTHON env variable.


在公司部署前端项目的时候,npm install 安装依赖的时候出现了问题,发现是node-sass这个包下载失败

在这里插入图片描述在这里插入图片描述

我在想是不是没安装什么呢,因为我是面向百度编程的,所以就百度了一下,发现需要安装编译环境

npm install -g node-gyp 
npm install --global --production windows-build-tools     (这条命令需管理员运行)


然后卸载安装失败的包

npm uninstall node-sass

然后重新安装

npm install node-sass

最后npm install , npm run dev 直接运行就好了。

 If you have multiple Python versions installed, you can identify which Python version node-gyp uses by setting the '--python' variable:

node-gyp --python /path/to/python2.7
If node-gyp is called by way of npm and you have multiple versions of Python installed, then you can set npm's 'python' config key to the appropriate value:

npm config set python /path/to/executable/python2.7
Note that OS X is just a flavour of Unix and so needs python, make, and C/C++. An easy way to obtain these is to install XCode from Apple, and then use it to install the command line tools (under Preferences -> Downloads). 

1、下载安装Python2.7,设置环境变量,以下命令可指定npm用哪个版本的python : 
npm config set python "D:\python27"

d:\>npm config get  (查看当前npm的安装环境)
; cli configs
metrics-registry = "https://registry.npm.taobao.org/"
scope = ""
user-agent = "npm/6.14.13 node/v14.17.1 win32 x64"

; userconfig C:\Users\Administrator\.npmrc
python = "D:\\Python27\\python.exe"
registry = "https://registry.npm.taobao.org/"

; builtin config undefined
prefix = "C:\\Users\\Administrator\\AppData\\Roaming\\npm"

; node bin location = D:\nodejs\node.exe
; cwd = d:\BaiduYunDownload\vue_backup\vue_backup\vue_agent
; HOME = C:\Users\Administrator
; "npm config ls -l" to show all defaults.

npm跟node.js 版本对照表 :

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

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

相关文章

[滴水逆向]03-12 pe头字段说明课后作业,输出pe结构

#include <iostream> #include <windows.h> using namespace std; #pragma warning(disable:4996) //DOC结构 typedef struct _DOC_HEADER {WORD e_magic;WORD e_cblp;WORD e_cp;WORD e_crlc;WORD e_cparhar;WORD e_minalloc;WORD e_maxalloc;WORD e_ss;WO…

RHCE---Web 服务器

文章目录 目录 文章目录 前言 一.Web服务器概述 网址及HTTP协议概述&#xff1a; HTTP协议请求过程&#xff1a; 二.搭建动态HTTP网页 动态网页概述&#xff1a; 搭建动态的HTTP协议网页&#xff1a; 总结 前言 通过上一个章节的学习了解了时间服务器以及远程连接服务器&a…

C++中实现雪花算法来在秒级以及毫秒及时间内生成唯一id

1、雪花算法原理 雪花算法&#xff08;Snowflake Algorithm&#xff09;是一种用于生成唯一ID的算法&#xff0c;通常用于分布式系统中&#xff0c;以确保生成的ID在整个分布式系统中具有唯一性。它的名称来源于雪花的形状&#xff0c;因为生成的ID通常是64位的整数&#xff0…

Prometheus-Rules 实战

文章目录 1 node rules2 nginx rule2.1 Nginx 4xx 错误率太多2.2 Nginx 5xx 错误率太多2.3 Nginx 延迟高 3 mysql rule3.1 MySQL 宕机3.2 实例连接数过多3.3 MySQL高线程运行3.4 MySQL 从服务器 IO 线程没有运行3.5 MySQL 从服务器 SQL 线程没有运行3.6 MySQL复制滞后3.7 慢查询…

作为SiteGPT替代品,HelpLook的优势是什么?

在当今快节奏的数字化世界中&#xff0c;企业不断寻求创新方式来简化运营并增强客户体验。由于聊天机器人能够自动化任务、提供快速响应并提供个性化互动&#xff0c;它们在业务运营中的使用变得非常重要。因此&#xff0c;企业越来越意识到像SiteGPT和HelpLook这样高效的聊天机…

I/O

IO 流简介 IO 即 Input/Output&#xff0c;输入和输出。数据输入到计算机内存的过程即输入&#xff0c;反之输出到外部存储&#xff08;比如数据库&#xff0c;文件&#xff0c;远程主机&#xff09;的过程即输出。IO 流在 Java 中分为输入流和输出流&#xff0c;而根据数据的…

Spring事务不生效的场景的解决方案

一、前言 在Java Web开发中&#xff0c;使用Spring框架可以大大简化开发人员的工作。其中&#xff0c;事务管理是Spring框架中的一个重要功能&#xff0c;它可以确保多个数据库操作要么全部成功&#xff0c;要么全部失败。但是&#xff0c;在实际开发中&#xff0c;我们可能会…

基于微信小程序的明星应援小程序设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言系统主要功能&#xff1a;具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09;有保障的售后福利 代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计…

浅谈研发与制造运营双端之间的数字化探索

一、传统中小型制造企业的发展变革与信息化建设背景 以往&#xff0c;传统的中小型制造企业常以大批量、重复性生产制造为主&#xff0c;依赖于人力设备&#xff0c;通过扩大产能发展壮大&#xff0c;信息化能力弱。伴随市场环境的变化及厂商竞争压力&#xff0c;企业谋生存求…

【网络八股】TCP八股

网络八股 请简述TCP/IP模型中每层的作用&#xff0c;典型协议和典型设备介绍一下三次握手的过程介绍一下四次挥手的过程必须三次握手吗&#xff0c;两次不行吗&#xff1f;为什么ACK数据包消耗TCP的序号吗三次握手中可以携带应用层数据吗四次挥手时&#xff0c;可以携带应用层数…

UE蓝图学习(从Unity3D而来)

一、UE组件对比Unity3D&#xff0c;从Unity3D过渡来学的角度出发&#xff0c;可以理解为在 空物体下放置子物体。UE没有U3D那种可以将组件挂在自身空物体上面。 二、UE 蓝图的情境提示&#xff0c;必须先找到相应的类型&#xff0c;对象对象、事件事件&#xff0c;才能找到相应…

Vue iconfont-阿里巴巴矢量图标库用法

一、vue使用 选择心仪的图标 加入购物车 点击右上角购物车&#xff0c;点击添加至项目 在资源管理 可以看到我的项目 进入项目设置勾选彩色 点击下载到本地 解压压缩包 在main.js文件内导入css文件 import "/assets/font_icon/iconfont.css"; 使用&#xff1a; 复…

Hive 数据仓库介绍

目录 ​编辑 一、Hive 概述 1.1 Hive产生的原因 1.2 Hive是什么&#xff1f; 1.3 Hive 特点 1.4 Hive生态链关系 二、Hive架构 2.1 架构图 2.2 架构组件说明 2.2.1 Interface 2.2.1.1 CLI 2.2.1.2 JDBC/ODBC 2.2.1.3 WebUI 2.2.2 MetaData 2.2.3 MetaStore 2.2…

postman怎么进行参数化?

一、先准备好参数化数据 &#xff08;参数化数据可以使用Excel或者txt的文件。 注意如果使用的是txt的文件&#xff0c;一定要使用英文的逗号&#xff0c;不然的话会报错&#xff01;&#xff09; 注意&#xff1a;填写好的数据后&#xff0c;保存的时候需要另存为&#xff0c…

PayPal面经

文章目录 初战AI Infra团队广泛收集信息&#xff0c;增加对面试相关团队的了解Paypal的AI infra Engineer 极客时间演讲视频&#xff1a;AI在金融应用HR面试首面 zhang chao首先让我介绍自己和项目基础知识出题 lettcode 1and0s 二面 luwen没有让我重复介绍自己那好&#xff0c…

如何快速重置模型原点

1、什么是模型原点&#xff1f; 模型原点是三维建模中的概念&#xff0c;它是指在一个虚拟三维空间中确定的参考点。模型原点通常位于模型的几何中心或基本组件的中心位置。如图所示&#xff1a; 可以看到模型的原点在模型的几何中心 2、模型原点的作用 知道了什么是模型原点&…

LCR 101. 分割等和子集——力扣——背包问题、动态规矩

问题描述 代码展示 class Solution:def canPartition(self, nums: List[int]) -> bool:if len(nums) < 1:return Falsetotal_sum sum(nums)if total_sum % 2 ! 0: # 总和为奇数&#xff0c;无法分成两个相等的子集return Falsetarget_sum total_sum // 2dp [[False]…

myArm 全新七轴桌面型机械臂

引言 在不断演进的科技世界中&#xff0c;我们始终追求创新和卓越&#xff0c;以满足客户的需求并超越他们的期望。今天&#xff0c;我们很高兴地宣布我们的最新产品——myArm 300 Pi&#xff0c;一款七轴的桌面型机械臂。这款产品的独特之处在于其灵活性和可编程性&#xff0c…

Docker——容器生命周期管理(下篇)

Docker 一、run1、options说明2、-p的三种写法3、实例14、实例25、实例36、实例47、实例58、实例69、实例78、实例89、退出容器 二、start/stop/restart1、语法格式2、stop/restart 命令的 options 三、kill1、重点2、说明3、实例 四、rm1、说明2、实例 五、create实例 六、exe…

天眼查询企业信息API接口

"天眼"一般是指"天眼查"&#xff0c;这是一个提供全国企业信息查询的API接口。天眼查以"天眼"作为用户logo&#xff0c;基于人工智能算法的数据采集和分析技术&#xff0c;为企业和个人提供全量、精准、实时、权威的企业信息查询服务。 天眼查A…