web-dev-qa-db-ja.com

grunt-「ローカルNpmモジュール「xxx」が見つかりません。インストールされていますか?」これは何が原因ですか?

作業用の不平を言うパッケージのコピーを受け取ったばかりですが、不平を言うのは初めてで、いくつかのことに対する答えを見つけるのに苦労しています。最大の問題は、以下のエラーがどこから来たのかわからないことです。誰かがこれがどこから来たのか教えてもらえますか?これらのファイルは両方とも同じディレクトリにあります。

$ 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.

$

そして、ここに私の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

おそらく、必要なパッケージをローカルにインストールしていません。 npm installSudo npm install)確認したこと。

64
zishe

受け入れられた回答が機能せず、正しいpackage.jsonファイルがある場合、次のことができます。

  1. node_modulesフォルダーを削除します(またはどこかにバックアップします)

  2. npm installを実行します

新たなスタートを切るために。

11
wranvaud

Node_modulesの場所をgruntに伝える必要があります。私のGruntfileは以下で始まります:

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');

私の場合、node_modulesフォルダーはGruntfileより5レベル上です(setBaseメソッドを見てください)。

1