关于前端项目使用node-sass下载的问题

最近拿到一个新项目,npm i 的时候,node-sass没有下下来,后面单独下载 npm i node-sass

然后依然报错

在此解决方案中一次生成一个项目。若要启用并行生成,请添加“/m”开关。
生成启动时间为 2023/9/7 18:41:58。
节点 1 上的项目“E:\work\rules-fe\lis-rule-ui\node_modules\node-sass\build\binding.sln”(默认目标)。
ValidateSolutionConfiguration:
  正在生成解决方案配置“Release|x64”。
项目“E:\work\rules-fe\lis-rule-ui\node_modules\node-sass\build\binding.sln”(1)正在节点 1 上生成“E:\work\rules-fe\lis-rule-ui\node_module
s\node-sass\build\binding.vcxproj.metaproj”(2) (默认目标)。
项目“E:\work\rules-fe\lis-rule-ui\node_modules\node-sass\build\binding.vcxproj.metaproj”(2)正在节点 1 上生成“E:\work\rules-fe\lis-rule-u
i\node_modules\node-sass\build\src\libsass.vcxproj”(3) (默认目标)。
E:\work\rules-fe\lis-rule-ui\node_modules\node-sass\build\src\libsass.vcxproj(20,3): error MSB4019: 未找到导入的项目“E:\Microsoft.Cpp.D
efault.props”。请确认 <Import> 声明中的路径正确,且磁盘上存在该文件。
已完成生成项目“E:\work\rules-fe\lis-rule-ui\node_modules\node-sass\build\src\libsass.vcxproj”(默认目标)的操作 - 失败。

已完成生成项目“E:\work\rules-fe\lis-rule-ui\node_modules\node-sass\build\binding.vcxproj.metaproj”(默认目标)的操作 - 失败。

已完成生成项目“E:\work\rules-fe\lis-rule-ui\node_modules\node-sass\build\binding.sln”(默认目标)的操作 - 失败。


生成失败。

“E:\work\rules-fe\lis-rule-ui\node_modules\node-sass\build\binding.sln”(默认目标) (1) ->
“E:\work\rules-fe\lis-rule-ui\node_modules\node-sass\build\binding.vcxproj.metaproj”(默认目标) (2) ->
“E:\work\rules-fe\lis-rule-ui\node_modules\node-sass\build\src\libsass.vcxproj”(默认目标) (3) ->
  E:\work\rules-fe\lis-rule-ui\node_modules\node-sass\build\src\libsass.vcxproj(20,3): error MSB4019: 未找到导入的项目“E:\Microsoft.Cpp
.Default.props”。请确认 <Import> 声明中的路径正确,且磁盘上存在该文件。

    0 个警告
    1 个错误

已用时间 00:00:00.79
gyp ERR! build error 
gyp ERR! stack Error: `C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (E:\work\rules-fe\lis-rule-ui\node_modules\node-gyp\lib\build.js:262:23)
gyp ERR! stack     at ChildProcess.emit (events.js:315:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
gyp ERR! System Windows_NT 10.0.19045
gyp ERR! comma

等一大串报错。。。

然后尝试了各种解决方案,例如删除 node_modules 包重新下载、清除 npm 缓存、切换镜像源等等

都没有解决。。。

好吧,然后打开了 gitHub https://github.com/sass/node-sass

找到了对应的 node 版本

由于项目中使用的是 node-sass@4.9.0

而我用的 node 是最新版。。

虽然是很初级的问题,但由于是第一次遇到 node-sass,并且报错中没有提到任何版本相关的词语

so~

切换了对应的 node@10 版本后终于解决!

【用于解决 failed Error: not found: python2 node-sass】 报错信息如下: ``` npm WARN prefer global node-gyp@3.6.0 should be installed with -g > node-sass@4.5.2 install E:\workspace_vscode\ww\node_modules\node-sass > node scripts/install.js Downloading binary from https://github.com/sass/node-sass/releases/download/v4.5 .2/win32-x64-48_binding.node Cannot download "https://github.com/sass/node-sass/releases/download/v4.5.2/win3 2-x64-48_binding.node": connect ETIMEDOUT 54.231.72.83:443 Timed out whilst downloading the prebuilt binary Hint: If github.com is not accessible in your location try setting a proxy via HTTP_PROXY, e.g. export HTTP_PROXY=http://example.com:1234 or configure npm proxy via npm config set proxy http://example.com:8080 > node-sass@4.5.2 postinstall E:\workspace_vscode\ww\node_modules\node-sass > node scripts/build.js 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 ``` 这个问题有两个解决方案 1. 按照提示需要 python2 环境,安装python2环境确实可以解决, 网上好多这种(管理员身份执行)。但是当你本来就有python环境时,环境变量不能自动替换,整起来就很麻烦。 ``` npm install --global --production windows-build-tools ``` 2. 第二种解决方案 ,看另一句报错,资源被墙。 ``` Downloading binary from https://github.com/sass/node-sass/releases/download/v4.5.2/win32-x64-48_binding.node Cannot download "https://github.com/sass/node-sass/releases/download/v4.5.2/win32-x64-48_binding.node": ``` 下载此资源即可。下载后需要设置变量路径,防止它再次去下载。 可以设置环境变量 直接右键我的电脑--》属性--》高级系统设置--》环境变量--》添加 或者执行 ``` set SASS_BINARY_PATH=D:\nodejs\tools\node-sass\win32-x64-46_binding.node ``` 再次执行 npm install 成功
Vue.js本身是一个前端框架,它并不直接支持像Node.js这样的服务器端运行环境,而`node-sass`是用于在Node.js中处理Sass(一种CSS预处理器)的库。如果你想在Vue项目使用Sass,你需要在安装Vue之后,在Node.js环境中完成以下步骤: 1. 首先,确保你已经全局安装了Node.js和npm (Node Package Manager)。你可以访问 https://nodejs.org 下载并安装。 2. 打开命令行工具(如Terminal或CMD),进入你的Vue项目目录。如果还没有创建Vue项目,可以使用Vue CLI(Vue脚手架)来创建一个新项目: ``` npm install -g @vue/cli vue create my-project-name cd my-project-name ``` 3. 进入项目文件夹后,安装Sass和Vue相关的Sass loader,比如`sass-loader`和`node-sass`(注意:由于安全原因,`node-sass`不再推荐使用,推荐使用`@loaders/babel-sass-loader`结合`dart-sass`): ``` npm install sass-loader node-sass vue-cli-plugin-sass --save-dev ``` 或者如果使用的是v4版本以上的Vue CLI,并且你想切换到`dart-sass`: ``` npm install vue-cli-plugin-sass sass-loader --save-dev npm install -D dart-sass ``` 4. 添加Sass配置到`.vue`文件的`build`标签中,例如在`src/main.js`或`config/index.js`中设置Sass插件: ```javascript // 如果在vue.config.js中 module.exports = { chainWebpack(config) { config.module.rule('scss') .test /\.s[ac]ss$/i .use('sass-loader') .loader('@vue/cli-service/node_modules/sass-loader') .options({ implementation: require.resolve('dart-sass'), }); } }; // 或者如果你在配置.sassrc.js const path = require('path'); module.exports = { loaderOptions: { sass: { data: `@import "~@/styles/main.scss";`, // 引入你的Sass文件 includePaths: [path.resolve(__dirname, '../node_modules')], compiler: 'dart-sass', // 使用dart-sass }, }, }; ``` 5. 然后在项目中创建`.scss`或`.sass`文件编写样式,并通过`<style lang="scss">`或`<style scoped lang="scss">`引入它们。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值