Npm 实现选项必须传递给Sass任务

Npm 实现选项必须传递给Sass任务,npm,sass,gruntjs,node-sass,gruntfile,Npm,Sass,Gruntjs,Node Sass,Gruntfile,正在运行grunt-我收到以下错误消息: Running "sass:all" (sass) task Fatal error: The implementation option must be passed to the Sass task 我尝试过重新安装grunt、node、npm和dependencies,但我总是遇到这个无法克服的错误 我应该发布Gruntfile.js吗?坦白地说,这是由第三方建立的,我们不经常使用它-我想也许我们应该从头开始,因为它最初是大约4年前的。。。但是想

正在运行grunt-我收到以下错误消息:

Running "sass:all" (sass) task
Fatal error: The implementation option must be passed to the Sass task
我尝试过重新安装grunt、node、npm和dependencies,但我总是遇到这个无法克服的错误

我应该发布Gruntfile.js吗?坦白地说,这是由第三方建立的,我们不经常使用它-我想也许我们应该从头开始,因为它最初是大约4年前的。。。但是想知道是否有人以前见过这个错误,并且知道修复/解决方法。

UPDATE:仅适用于grunt sass 2.x 我在从grunt sass 1.x升级到2.x时遇到了这个问题。这为我解决了问题:

实现:“sass”
添加到Gruntfile.js中的
sass
选项中,如下所示:

options: {
    implementation: 'sass',
    outputStyle: 'expanded',
    sourceMap: true,
    quiet: true // stop depreciation errors
},

随着grunt sass 3的更新,您必须选择是使用节点sass还是dart sass进行编译 对于节点sass,您需要使用以下设备安装模块:

$ npm install --save-dev node-sass 
在gruntfile中,您需要根据需要添加节点sass,并添加定义常量作为实现选项:

const sass = require('node-sass');

require('load-grunt-tasks')(grunt);

grunt.initConfig({
    sass: {
        options: {
            implementation: sass,
            sourceMap: true
        },
        dist: {
            files: {
                'main.css': 'main.scss'
            }
        }
    }
});

有关更多详细信息,请参见官方页面:

可能需要sass任务来帮助您完成实施:“sass”破坏了我的任务。实施:sass有效