Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Yeoman - task "requirejs" not found

I'm having problems with yeoman, specifically, when I try to run grunt, it fails on the requirejs, stating simply that "The task 'requirejs' doesn't exist". That is really strange, since in my gruntfile I have the options definition for requirejs, and I also have it installed in the package.json file. Do you know what could be the problem?

Thank you!

// Generated on 2013-03-14 using generator-webapp 0.1.5
"use strict";
var lrSnippet = require("grunt-contrib-livereload/lib/utils").livereloadSnippet;
var mountFolder = function(connect, dir) {
  return connect.static(require("path").resolve(dir));
};

// # Globbing
// for performance reasons we"re only matching one level down:
// "test/spec/{,*/}*.js"
// use this if you want to match all subfolders:
// "test/spec/**/*.js"

module.exports = function(grunt) {
  // load all grunt tasks
  require("matchdep").filterDev("grunt-*").forEach(grunt.loadNpmTasks);

  // configurable paths
  var yeomanConfig = {
    app: "app",
    dist: "dist"
  };

  grunt.initConfig({
    yeoman: yeomanConfig,
    watch: {
      coffee: {
        files: ["<%= yeoman.app %>/scripts/{,*/}*.coffee"],
        tasks: ["coffee:dist"]
      },
      coffeeTest: {
        files: ["test/spec/{,*/}*.coffee"],
        tasks: ["coffee:test"]
      },
      compass: {
        files: ["<%= yeoman.app %>/styles/{,*/}*.{scss,sass}"],
        tasks: ["compass"]
      },
      livereload: {
        files: [
          "<%= yeoman.app %>/*.html",
          "{.tmp,<%= yeoman.app %>}/styles/{,*/}*.css",
          "{.tmp,<%= yeoman.app %>}/scripts/{,*/}*.js",
          "<%= yeoman.app %>/images/{,*/}*.{png,jpg,jpeg,webp}"],
        tasks: ["livereload"]
      }
    },
    clean: {
      dist: [".tmp", "<%= yeoman.dist %>/*"],
      server: ".tmp"
    },
    jshint: {
      options: {
        jshintrc: ".jshintrc"
      },
      all: [
        "Gruntfile.js",
        "<%= yeoman.app %>/scripts/{,*/}*.js",
        "!<%= yeoman.app %>/scripts/vendor/*",
        "test/spec/{,*/}*.js"]
    },
    coffee: {
      dist: {
        files: [{
          // rather than compiling multiple files here you should
          // require them into your main .coffee file
          expand: true,
          cwd: "<%= yeoman.app %>/scripts",
          src: "*.coffee",
          dest: ".tmp/scripts",
          ext: ".js"
        }]
      },
      test: {
        files: [{
          expand: true,
          cwd: ".tmp/spec",
          src: "*.coffee",
          dest: "test/spec"
        }]
      }
    },
    compass: {
      options: {
        sassDir: "<%= yeoman.app %>/styles",
        cssDir: ".tmp/styles",
        imagesDir: "<%= yeoman.app %>/images",
        javascriptsDir: "<%= yeoman.app %>/scripts",
        fontsDir: "<%= yeoman.app %>/styles/fonts",
        importPath: "app/components",
        relativeAssets: true
      },
      dist: {}
    },
    requirejs: {
      dist: {
        options: {
          baseUrl: "app/scripts/editor",
          optimize: "none",
          preserveLicenseComments: false,
          useStrict: true,
          wrap: true
        }
      }
    },
    useminPrepare: {
      html: "<%= yeoman.app %>/index.html",
      options: {
        dest: "<%= yeoman.dist %>"
      }
    },
    usemin: {
      html: ["<%= yeoman.dist %>/{,*/}*.html"],
      css: ["<%= yeoman.dist %>/styles/{,*/}*.css"],
      options: {
        dirs: ["<%= yeoman.dist %>"]
      }
    },
    imagemin: {
      dist: {
        files: [{
          expand: true,
          cwd: "<%= yeoman.app %>/images",
          src: "{,*/}*.{png,jpg,jpeg}",
          dest: "<%= yeoman.dist %>/images"
        }]
      }
    },
    cssmin: {
      dist: {
        files: {
          "<%= yeoman.dist %>/styles/main.css": [
            ".tmp/styles/{,*/}*.css",
            "<%= yeoman.app %>/styles/{,*/}*.css"]
        }
      }
    },
    htmlmin: {
      dist: {
        options: {
          removeCommentsFromCDATA: true,
          // https://github.com/yeoman/grunt-usemin/issues/44
          //collapseWhitespace: true,
          collapseBooleanAttributes: true,
          removeAttributeQuotes: true,
          removeRedundantAttributes: true,
          useShortDoctype: true,
          removeEmptyAttributes: true,
          removeOptionalTags: true
        },
        files: [{
          expand: true,
          cwd: "<%= yeoman.app %>",
          src: "*.html",
          dest: "<%= yeoman.dist %>"
        }]
      }
    },
    copy: {
      dist: {
        files: [{
          expand: true,
          dot: true,
          cwd: "<%= yeoman.app %>",
          dest: "<%= yeoman.dist %>",
          src: [
            "*.{ico,txt}",
            ".htaccess"]
        }]
      }
    },
    bower: {
      all: {
        rjsConfig: "<%= yeoman.app %>/scripts/main.js"
      }
    }
  });

  grunt.renameTask("regarde", "watch");

  grunt.registerTask("server", function(target) {
    if (target === "dist") {
      return grunt.task.run(["build", "open", "connect:dist:keepalive"]);
    }

    grunt.task.run([
      "clean:server",
      "coffee:dist",
      "livereload-start",
      "connect:livereload",
      "open",
      "watch"
    ]);
  });

  grunt.registerTask("test", [
    "clean:server",
    "coffee",
    "compass"
  ]);

  grunt.registerTask("build", [
    "clean:dist",
    "coffee",
    "compass:dist",
    "useminPrepare",
    "requirejs",
    "imagemin",
    "htmlmin",
    "concat",
    "cssmin",
    "uglify",
    "copy",
    "usemin"
  ]);

  grunt.registerTask("default", [
    "jshint",
    "test",
    "build"
  ]);
};
like image 809
opportunato Avatar asked Nov 26 '25 16:11

opportunato


1 Answers

I came across a similar problem just now, and after an hour working, I finally figure it out :)

Here is my suggest:

1 npm update

use the update command to make sure you have the packages installed.

2 check if you have made the same mistake like me.

About the 'package.json' file: I have placed all my dependencies in "dependencies" instead of "devDependencies". By doing so, npm will still install all the packages, yet yeoman will fall to find them.

like image 166
Alex G Avatar answered Nov 28 '25 07:11

Alex G



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!