今天在前端项目打包编译时报错如下:
具体内容如下:
Module build failed: Error: Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime (93)
For more information on which environments are supported please see:
https://github.com/sass/node-sass/releases/tag/v4.14.1
at module.exports (E:\project_test\hello_vue\node_modules\_node-sass@4.14.1@node-sass\lib\binding.js:13:13)
at Object. (E:\project_test\hello_vue\node_modules\_node-sass@4.14.1@node-sass\lib\index.js:14:35)
at Module._compile (node:internal/moduless/loader:1103:14)
at Object.Module._extensions..js (node:internal/moduless/loader:1157:10)
at Module.load (node:internal/moduless/loader:981:32)
at Function.Module._load (node:internal/moduless/loader:822:12)
at Module.require (node:internal/moduless/loader:1005:19)
at require (node:internal/moduless/helpers:102:18)
at getDefaultSassImpl (E:\project_test\hello_vue\node_modules\_sass-loader@7.3.1@sass-loader\dist\index.js:198:10)
at Object.loader (E:\project_test\hello_vue\node_modules\_sass-loader@7.3.1@sass-loader\dist\index.js:80:29)
打开提示的网站看一下 Release v4.14.1 · sass/node-sass · GitHub
当前node-sass支持的最高版本为14
再看一下我的node版本
显然我系统的node版本过高导致的编译异常,只需要将版本降低到14及以下。
在网上能降级的方法,发现node版本管理模块n目前不能运行在Windows系统上,但是自己把node-sass卸载重新安装为适合当前node的版本又显示和项目文件不兼容。权衡半天,还是打算卸载自己原有的node.js,安装node版本控制工具nvm,这样就可以一劳永逸了。
安装nvm一、彻底卸载原有的node.js
可以通过安装包卸载,控制面板卸载同时把node安装目录下的全部目录和文件都删掉。
我这里是使用的第三方软件geek卸载的。
二、下载并安装nvm管理工具
1. 从官网下载安装包https://github.com/coreybutler/nvm-windows/releases
2. 解压,以管理员身份运行安装包,点I accept ....然后next
选择nvm安装目录,建议自定义路径,建议路径不要包含中文
选择node.js目录,建议自定义目录,可以提前建好目录,目录最好不要包含中文
点install
finish
3. 测试nvm是否安装成功
正确输出版本号就说明安装成功了
4. 安装node.js版本
(1)输入命令查看可安装的版本:
nvm ls available
(2)输入命令行nvm install node版本号(例如:nvm install 14.16.1)即可安装对应版本以及自动安装对应的npm版本。除了上面显示的node.js版本,其他版本号也可以下载,只不过有些可以准确下载,有些会出现npm版本不会自动下载。输入指令安装
nvm install 12.17.0
发现安装太慢了,这是因为我们默认的下载地址( http://nodejs.org/dist/)是国外的所以下载就会很慢,那就配置为淘宝镜像源。
(3)找到我们nvm安装目录,打开setting.txt文件。
复制粘贴如下到setting.txt文件
arch: 64
proxy: none
node_mirror: http://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/
(4)再次执行命令安装
nvm install 12.17.0
很快就安装好了
(5)测试是否安装成功
出现这个是因为我之前的卸载node.js后环境变量里面有关node.js的没有完全清除。比如什么node_glbal这些,先把这些删了,然后检查用户变量和系统变量多出来的NVM_HOME和NVM_SYMLINK位置是否为我们的nvm和node.js安装目录。
最后一定一定要注意:我们第一次安装node.js时,node.js安装目录一定要为空
卸载重新安装,然后就能正确输出版本号了
安装完后,node安装目录下有了这些东西
我们可以设置全局安装目录和缓存日志目录(选择性)
npm config set prefix "目录名" (推荐直接使用安装目录下文件夹node_global)
npm config set cache "目录名" (推荐直接使用安装目录下文件夹node_cache,需要自己建)
同时可以修改下载源为淘宝镜像
npm config set registry https://registry.npm.taobao.org
全局安装npm、cnpm
在安装node的时候,npm其实也已经一起安装了。因为nvm可以管理多个版本的node,如果每次添加一个node版本都要安装一堆的包很麻烦,如果有一个npm可以让各个版本的node共用,就不会这么麻烦了。
1. 配置用npm下载包时全局安装的包路径(这里选择的是nvm安装目录下新建的一个npm目录,可以其它,例如上面说到的现成的node安装目录下文件夹node_global)
npm config set prefix "E:\Java\nvm\npm"
2. 安装全局npm,不同的node都使用这个npm。想更新全局的npm的话首先删除全局路径(就是上一行命令的地址,可以使用npm config ls查看)下的npm,再执行一次这个命令即可。
npm install npm --registry=https://registry.npm.taobao.org -g
3. 在系统变量中添加NPM_HOME=E:\Java\nvm\npm,path中添加%NPM_HOME%。这里需要注意的是,%NPM_HOME%要添加在%NVM_SYMLINK%之前,避免npm访问到的是nodejs中自带的npm包管理工具。
使用淘宝镜像cnpm1. 使用淘宝镜像cnmp替代npm
npm install cnpm --registry=https://registry.npm.taobao.org -g
2. 验证cnpm是否可用
cnpm config get registry
最后再次打包编译
成功了 !!!
本文参考:window下安装并使用nvm(含卸载node、卸载nvm、全局安装npm)_hst❀的博客-CSDN博客_win10 卸载nvm
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)