Search code examples
gruntjsassemble

Grunt assemble module not found


I'm just trying to run a quick example with assemble. I've followed the instructions and run the installer, output is here

npm install assemble --save-dev
npm WARN package.json ocscommerce-frontend@0.1.0 No description
npm WARN package.json ocscommerce-frontend@0.1.0 No repository field.
npm WARN package.json ocscommerce-frontend@0.1.0 No README data
npm WARN package.json ocscommerce-frontend@0.1.0 No license field.
npm WARN engine get-stdin@5.0.1: wanted: {"node":">=0.12.0"} (current: {"node":"0.10.32","npm":"2.14.2"})
|
> fsevents@1.0.6 install /Users/Documents/Projects/OCSCommerce/prototype/web/themes/default/build/node_modules/assemble/node_modules/assemble-core/node_modules/base-tasks/node_modules/composer/node_modules/chokidar/node_modules/fsevents
> node-pre-gyp install --fallback-to-build

[fsevents] Success: "/Users/Documents/Projects/OCSCommerce/prototype/web/themes/default/build/node_modules/assemble/node_modules/assemble-core/node_modules/base-tasks/node_modules/composer/node_modules/chokidar/node_modules/fsevents/lib/binding/Release/node-v11-darwin-x64/fse.node" is installed via remote
assemble@0.7.0 node_modules/assemble
├── success-symbol@0.1.0
├── try-open@0.1.0
├── time-stamp@0.1.3
├── word-wrap@1.1.0
├── lazy-cache@1.0.3
├── base-cli@0.4.0
├── minimist@1.2.0
├── isobject@2.0.0 (isarray@0.0.1)
├── opn@3.0.3 (object-assign@4.0.1)
├── common-middleware@0.2.2 (mixin-deep@1.1.3)
├── engine-handlebars@0.8.0 (engine-utils@0.1.1, extend-shallow@2.0.1)
├── export-files@2.1.0 (lazy-cache@0.1.0)
├── ansi-colors@0.1.0 (lazy-cache@0.2.7, ansi-gray@0.1.1, ansi-yellow@0.1.1, ansi-magenta@0.1.1, ansi-bgwhite@0.1.1, ansi-bgyellow@0.1.1, ansi-blue@0.1.1, ansi-bold@0.1.1, ansi-cyan@0.1.1, ansi-bggreen@0.1.1, ansi-bgred@0.1.1, ansi-underline@0.1.1, ansi-grey@0.1.1, ansi-green@0.1.1, ansi-hidden@0.1.1, ansi-bgmagenta@0.1.1, ansi-italic@0.1.1, ansi-red@0.1.1, ansi-reset@0.1.1, ansi-black@0.1.1, ansi-dim@0.1.1, ansi-bgcyan@0.1.1, ansi-bgblue@0.1.1, ansi-white@0.1.1, ansi-inverse@0.1.1, ansi-bgblack@0.1.1, ansi-strikethrough@0.1.1)
├── composer-runtimes@0.7.0 (extend-shallow@2.0.1, ansi-gray@0.1.1, ansi-green@0.1.1, ansi-cyan@0.1.1, ansi-magenta@0.1.1, pretty-time@0.2.0)
├── base-config@0.3.3 (map-config@0.3.0, resolve-dir@0.1.0)
├── base-pipeline@0.1.4 (lazy-cache@0.2.7, extend-shallow@2.0.1, ansi-yellow@0.1.1, ansi-red@0.1.1, kind-of@2.0.1, stream-combiner@0.2.2, resolve-dir@0.1.0, through2@2.0.0)
├── base-argv@0.3.0 (arr-union@3.0.0, lazy-cache@0.2.7, extend-shallow@2.0.1, arrayify-compact@0.2.0, expand-args@0.3.1)
├── assemble-loader@0.2.6 (is-valid-glob@0.3.0, mixin-deep@1.1.3, has-glob@0.1.1, file-contents@0.2.4, load-templates@0.10.2)
├── base-store@0.3.2 (extend-shallow@2.0.1, project-name@0.2.3, data-store@0.12.1)
├── matched@0.4.1 (async-array-reduce@0.1.0, is-valid-glob@0.3.0, arr-union@3.0.0, extend-shallow@2.0.1, resolve-dir@0.1.0, glob@6.0.4, bluebird@3.1.1)
├── base-list@0.1.4 (arr-union@3.0.0, lazy-cache@0.2.7, base-tree@0.1.0, extend-shallow@2.0.1, union-value@0.2.1, question-cache@0.3.5)
├── base-questions@0.2.3 (get-value@2.0.2, for-own@0.1.3, mixin-deep@1.1.3, to-choices@0.1.1, set-value@0.3.2, common-questions@0.1.1, micromatch@2.3.7, question-store@0.3.2)
├── parser-front-matter@1.3.0 (lazy-cache@0.2.7, extend-shallow@2.0.1, gray-matter@2.0.2)
└── assemble-core@0.8.0 (assemble-render-file@0.3.1, assemble-streams@0.3.0, templates@0.9.5, assemble-fs@0.3.4, base-tasks@0.1.2)

Then I've added the task to my gruntfile:

grunt.loadNpmTasks('assemble' );

But every time I try to run it, I get a problem that the assemble module can't be found - this is from running grunt -v. All the other modules work by the way.

Registering "assemble" local Npm module tasks.
Reading /Users/Documents/Projects/OCSCommerce/prototype/web/themes/default/build/node_modules/assemble/package.json...OK
Parsing /Users/Documents/Projects/OCSCommerce/prototype/web/themes/default/build/node_modules/assemble/package.json...OK
>> Local Npm module "assemble" not found. Is it installed?
Loading "Gruntfile.js" tasks...OK
+ default, prototype, prototypeFull

Can anyone suggest what could be wrong?


Solution

  • Well the answer was sort of straightforward. The documentation page must be out of date (http://assemble.io/docs/Installation.html) - I found the info deep in the release notes of the git repository!

    https://github.com/assemble/assemble/#release-history

    "Assemble was completely re-written from the ground-up as a standalone node.js library and is no longer a grunt plugin. Grunt plugin support has been moved to grunt-assemble. Please see that repo for additional details."

    It probably should have at least an update to the github readme if not the main documentation! Anyway, I installed grunt-assemble and it's working now....