vue:‘vue-cli-service‘ 不是内部或外部命令,也不是可运行的程序/Cannot find module ‘node-sass’/checking python launcher
问题描述
将公司项目代码拉到本地,在VSCode终端运行“npm install”命令后输出报错
最新补充
最近换电脑重新搭建开发环境,跑已有的vue项目时又出现了node-sass报错,这次本杂鱼发现了根本原因:node版本和node-sass版本需要匹配…具体可参考:
① node-sass一直安装不上、安装失败的原因分析
② npm install 报错 ERR! gyp ERR! cwd D:\workspace\node_modules\node-sass错误解决/npm ERR! gyp verb `which` failed Error: not found: python2
此外,再记录两个有参考价值的链接:
③ vscode命令行执行npm报错解决
④ windows系统使用nvm实现多版本node切换
2024/11/29补充
今天拉了一个新项目,愉快地npm install,结果过了好久命令行还在输出,定睛一看:原来进入了python报错鬼打墙?!(见下图)
报错信息显示找不到python.exe,但是(明明就有这个python.exe啊喂!!!):
于是追根溯源,发现真正的报错原因是下载node-sass相关的文件失败:
可以通过其他途径下载对应的文件,放在电脑的“C:\Users\用户名\AppData\Roaming\npm-cache\node-sass\对应的版本”目录下,然后重新npm install就不会再报错啦~
本杂鱼将自己本地的node-sass文件上传到了自己的demo项目:myDemos的nodeSass分支,有需要的小伙伴自行下载嗷▓░ω▓░
以下内容为最初记录,现在来看没有太多参考价值啦,个人原因还是保留一下~
解决过程
-
求助度娘
尝试了网络上的解决方案,主要思路是全局安装node-sass,但在我个人的环境下没有奏效 -
个人的解决方法
在请教其他同事后,发现可能是我安装的nodejs版本过高的原因(V16.15.0),
在卸载并重新安装了V10.15.0的nodejs(需要下载其他版本的nodejs只需修改这个url中对应的版本号)
后,在我个人的环境下解决了“npm install”执行报错问题
补充
运行vue程序后依然因某些包的版本不对而报错(不指定版本号时一般默认安装的都是最高版本),可以尝试卸载原有的包并重新安装较低版本的包:
- 方法一:通过命令行重装
:: 在命令行执行
npm uninstall `版本过高的包的名称` --save :: 卸载已经安装的版本过高的包
npm install `版本过高的包的名称`@`较低的版本号` --save :: 安装较低版本的包
- 方法二:修改配置重装
在项目的package.json中找到版本过高的包,将配置的版本号改低,删除项目目录下的node_modules文件夹(删掉全部包的话,重新执行npm install用时可能很久,可以只把相关的包删除),再在命令行执行npm install
如果试了一个较低的版本后依然有问题,大概率是需要更低的版本。。遇到问题不要怕折腾,多尝试总会有办法的!^_^
总结
vue开发中,各种包的版本号非常重要……感觉很多错误来源于版本问题,需多留意
参考网址
[1] node-sass一直安装不上、安装失败的原因分析
[2] npm install 报错 ERR! gyp ERR! cwd D:\workspace\node_modules\node-sass错误解决/npm ERR! gyp verb `which` failed Error: not found: python2
[3] vscode命令行执行npm报错解决
[4] windows系统使用nvm实现多版本node切换
更多推荐
所有评论(0)