grunt фатальная ошибка: не удалось найти местный grunt в Yeoman

Я установил yeoman и начал примеры, которые приведены в официальной документации. Я прошел через предложенные операции

    yo webapp 
    bower install underscore  
    grunt

после запуска grunt у меня есть сообщение

    grunt-cli: The grunt command line interface. (v0.1.9)

    Fatal error: Unable to find local grunt.

    If you're seeing this message, either a Gruntfile wasn't found or grunt
    hasn't been installed locally to your project. For more information about
    installing and configuring grunt, please see the Getting Started guide:

    http://gruntjs.com/getting-started

обратите внимание, что grunt были установлены с

    npm install -g grunt-cli

и

    npm install -g grunt

yo сгенерировал Gruntfile.js в корне проекта, где я запускаю команду.
Пакет.также был создан json:

    "name": "testyo",
    "version": "0.0.0",
    "dependencies": {},
    "devDependencies": {
      "grunt": "~0.4.1",
      "grunt-contrib-copy": "~0.4.1",
      "grunt-contrib-concat": "~0.1.3",
      "grunt-contrib-coffee": "~0.6.5",
      "grunt-contrib-uglify": "~0.2.0",
      "grunt-contrib-compass": "~0.2.0",
      "grunt-contrib-jshint": "~0.4.1",
      "grunt-contrib-cssmin": "~0.6.0",
      "grunt-contrib-connect": "~0.2.0",
      "grunt-contrib-clean": "~0.4.0",
      "grunt-contrib-htmlmin": "~0.1.3",
      "grunt-contrib-imagemin": "~0.1.3",
      "grunt-contrib-watch": "~0.4.0",
      "grunt-rev": "~0.1.0",
      "grunt-autoprefixer": "~0.1.20130516",
      "grunt-usemin": "~0.1.10",
      "grunt-mocha": "~0.3.0",
      "grunt-open": "~0.2.0",
      "grunt-svgmin": "~0.1.0",
      "grunt-concurrent": "~0.1.0",
      "matchdep": "~0.1.1",
      "connect-livereload": "~0.2.0"
    },
    "engines": {
      "node": ">=0.8.0"
    }

дополнительно. Из корневого каталога

    grunt --version
    grunt-cli v0.1.9

это подтверждает, что grunt доступен для запуска в каждом каталоге.
Есть идеи?

3 ответов


после недолгих исследований я понял, что от документация grunt, это ворчание должно быть установлено в проекте. Я сделал это, побежав:

    sudo npm install grunt --save-dev

теперь ворчание работает.

мне также нужно было запустить:

    npm install

чтобы все зависимости были загружены.

это решило мою проблему. Честно говоря, я думал, что йомен сделал бы последние два шага автоматически.

в случае, если у вас есть замечания или думать есть лучшее решение, Пожалуйста, оставьте комментарий.


npm cache clean
sudo npm install grunt --save-dev

действительно сделал трюк для меня


я столкнулся с такой же проблемой.

после npm install убедитесь, что папки node_modules папка создается в корне вашего проекта. Это папка, в которую будет помещен "local grunt". Если папки нет, проверьте конфигурацию npm npm config ls и global=false.

Я нашел решение здесь:https://stackoverflow.com/a/13449393/1046584