web-dev-qa-db-fra.com

grunt - obtention du "module Npm local" xxx "introuvable. Est-il installé?" Qu'est-ce qui cause ça?

Je viens de recevoir une copie d'un paquet grunt sur lequel travailler, mais je suis nouveau dans grunt et j'ai du mal à trouver des réponses à quelques choses. Le plus gros problème est de ne pas savoir d'où viennent les erreurs ci-dessous - quelqu'un peut-il me dire d'où cela vient? Ces deux fichiers se trouvent dans le même répertoire.

$ grunt
>> Local Npm module "grunt-contrib-clean" not found. Is it installed?
>> Local Npm module "grunt-contrib-concat" not found. Is it installed?
>> Local Npm module "grunt-contrib-copy" not found. Is it installed?
>> Local Npm module "grunt-contrib-cssmin" not found. Is it installed?
>> Local Npm module "grunt-contrib-handlebars" not found. Is it installed?
>> Local Npm module "grunt-contrib-jshint" not found. Is it installed?
>> Local Npm module "grunt-contrib-qunit" not found. Is it installed?
>> Local Npm module "grunt-contrib-uglify" not found. Is it installed?
>> Local Npm module "grunt-preprocess" not found. Is it installed?
>> Local Npm module "grunt-wrap" not found. Is it installed?
>> Local Npm module "grunt-debug-task" not found. Is it installed?
Warning: Task "clean" not found.  Use --force to continue.

Aborted due to warning.

$

Et voici mon package.json:

{
  "name": "baked-widget",
    "srcDirectory": "./src",
    "srcJavascript": "./src/js",
    "srcCss": "./src/css",
    "srcData": "./src/data",
    "testDirectory": "./test",
    "tgtDirectory": "./build",
    "installDirectory": "../com/public/widgets",
  "version": "4.2.0",
  "devDependencies": {
    "grunt": "~0.4",
    "grunt-contrib-clean": "~0.4.0",
    "grunt-contrib-concat": "~0.3.0",
    "grunt-contrib-copy": "~0.5.0",
    "grunt-contrib-cssmin": "~0.9.0",
    "grunt-contrib-handlebars": "~0.6",
    "grunt-contrib-jshint": "~0.8",
    "grunt-contrib-uglify": "~0.3",
    "grunt-contrib-qunit": "~0.4",
    "grunt-contrib-watch": "~0.5",
    "grunt-preprocess": "~4.0",
    "grunt-wrap": "~0.3",
    "grunt-debug-task": "~0.1.4"
  }
}
41
u353

Vous n'avez probablement pas installé les packages nécessaires localement. Essayez npm install (Sudo npm install) pour vous en assurer.

64
zishe

Si la réponse acceptée ne fonctionne pas ET que vous avez un package.json fichier, vous pouvez:

  1. supprimer le node_modules dossier (ou sauvegardez-le quelque part)

  2. puis exécutez npm install

afin de prendre un nouveau départ.

11
wranvaud

Vous devez dire à grunt où trouver node_modules. Mon Gruntfile commence par:

module.exports = function (grunt) {
    // Tell grunt where to find node_modules
    grunt.file.setBase('../../../../../');
    grunt.loadNpmTasks('grunt-contrib-concat');
    grunt.loadNpmTasks('grunt-contrib-clean');
    grunt.loadNpmTasks('grunt-contrib-uglify');
    grunt.loadNpmTasks('grunt-contrib-copy');
    grunt.loadNpmTasks('grunt-hub');

Dans mon cas, le dossier node_modules est supérieur de 5 niveaux (regardez la méthode setBase) que Gruntfile.

1
Eduard Streltsov