由于错误而无法运行grunt命令:找不到模块“提货”

时间:2018-11-21 09:24:45

标签: windows npm sass gruntjs

我正在使用Bootstrap 4启动一个简单的HTML项目,我想在其中使用编译的sass。为此,我使用node.js和https://gruntjs.com/getting-started中所述的后续步骤安装了grunt。

当我输入grunt命令时,结果为:

  

错误:在以下位置找不到模块“提货”   Function.Module._resolveFilename   (内部/模块/cjs/loader.js:603:15)       在Function.Module._load(内部/模块/cjs/loader.js:529:25)       在Module.require(internal / modules / cjs / loader.js:658:17)       在要求时(内部/模块/cjs/helpers.js:22:18)       在对象。 (C:\ Bitnami \ nodejs-7.3.0-0 \ nodejs \ node_modules \ grunt-cli \ bin \ grunt:7:15)       在Module._compile(内部/模块/cjs/loader.js:722:30)       在Object.Module._extensions..js(内部/模块/cjs/loader.js:733:10)       在Module.load(internal / modules / cjs / loader.js:620:32)       在tryModuleLoad(内部/模块/cjs/loader.js:560:12)       在Function.Module._load(internal / modules / cjs / loader.js:552:3)

我试图通过安装npm install liftoff来解决这个问题。该模块已正确安装,但仍然无法运行grunt

我的gruntfile.js看起来像这样:

module.exports = function(grunt) {
'use strict';

grunt.initConfig({
    watch: {
        sass: {
            files: ['sass/**', 'Gruntfile.js'],
            tasks: ['sass'],
        },
        uglify: {
            files: ['js/index.js', 'Gruntfile.js'],
            tasks: ['uglify'],
        }
    },
    sass: {
        production: {
            options: {
                compress: true,
                strictUnits: true
            },
            files: {
                'styles.css': 'styles/styles.sass',
            }
        }
    },
    uglify: {
        options: {
            beautify: true,
            mangle: false,
            compress: {
                drop_console: true
            }
        },
        build: {
            files: {
                'index.min.js': ['js/index.js'],
            }
        }
    }
});

grunt.registerTask('default', ['css', 'js']);
grunt.registerTask('css', ['sass']);
grunt.registerTask('js', ['uglify']);

grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-sass');
grunt.loadNpmTasks('grunt-contrib-uglify');
};

我想念什么?我对npm grunt很陌生,所以也许解决方案很简单,但我没有找到与“提离”模块严格相关的答案。我正在Windows 7上尝试执行此操作。谢谢您的帮助。

2 个答案:

答案 0 :(得分:6)

在Ubuntu 20.04下我也遇到了同样的问题,我相信这是由多个版本的nodejs引起的。

我已经手动安装了nodejs 12.16.2(提取到/ usr / local),这是我的错误。当我尝试从Ubuntu软件包管理器安装grunt时,它安装了nodejs 10.X作为node-grunt-cli软件包的依赖项。

结果我收到了相同的错误消息。

解决方案是删除手动安装的nodejs,然后从程序包管理器中重新安装它。

答案 1 :(得分:2)

我也在 Ubuntu 20.04 上进行了全新安装。我最终在 https://ask.openrouteservice.org/t/cannot-find-module-liftoff/1718/5 找到了一个似乎可以解决问题(不知道为什么)的方法,使用 nvm 安装节点 v14.16.1,然后全局安装 grunt-cli 并在本地安装 grunt:

nvm install v14.16.1
npm install -g grunt-cli
npm install grunt