当前位置: 动力学知识库 > 问答 > 编程问答 >

javascript - grunt-bower-task is removing coffeescript from bower_components then complaining that it's missing

问题描述:

When I run grunt bower -v I get the following output:

Initializing

Command-line options: --verbose

Reading "Gruntfile.js" Gruntfile...OK

Registering Gruntfile tasks.

Registering "grunt-bower-task" local Npm module tasks.

Reading /Users/zen/ducks/are/cool/node_modules/grunt-bower-task/package.json...OK

Parsing /Users/zen/ducks/are/cool/node_modules/grunt-bower-task/package.json...OK

Loading "bower_task.js" tasks...OK

+ bower

Registering "thorax-inspector" local Npm module tasks.

Reading /Users/zen/ducks/are/cool/node_modules/thorax-inspector/package.json...OK

Parsing /Users/zen/ducks/are/cool/node_modules/thorax-inspector/package.json...OK

Loading "thorax-inspector.js" tasks...OK

+ thorax:inspector

Registering "tasks" tasks.

Loading "ensure-installed.js" tasks...OK

+ ensure-installed

Loading "styles.js" tasks...OK

+ styles

Registering "grunt-exec" local Npm module tasks.

Reading /Users/zen/ducks/are/cool/node_modules/grunt-exec/package.json...OK

Parsing /Users/zen/ducks/are/cool/node_modules/grunt-exec/package.json...OK

Loading "exec.js" tasks...OK

+ exec

Reading /Users/zen/ducks/are/cool/package.json...OK

Parsing /Users/zen/ducks/are/cool/package.json...OK

Registering "grunt-contrib-copy" local Npm module tasks.

Reading /Users/zen/ducks/are/cool/node_modules/grunt-contrib-copy/package.json...OK

Parsing /Users/zen/ducks/are/cool/node_modules/grunt-contrib-copy/package.json...OK

Loading "copy.js" tasks...OK

+ copy

Registering "grunt-contrib-concat" local Npm module tasks.

Reading /Users/zen/ducks/are/cool/node_modules/grunt-contrib-concat/package.json...OK

Parsing /Users/zen/ducks/are/cool/node_modules/grunt-contrib-concat/package.json...OK

Loading "concat.js" tasks...OK

+ concat

Registering "grunt-contrib-cssmin" local Npm module tasks.

Reading /Users/zen/ducks/are/cool/node_modules/grunt-contrib-cssmin/package.json...OK

Parsing /Users/zen/ducks/are/cool/node_modules/grunt-contrib-cssmin/package.json...OK

Loading "cssmin.js" tasks...OK

+ cssmin

Registering "grunt-contrib-watch" local Npm module tasks.

Reading /Users/zen/ducks/are/cool/node_modules/grunt-contrib-watch/package.json...OK

Parsing /Users/zen/ducks/are/cool/node_modules/grunt-contrib-watch/package.json...OK

Loading "watch.js" tasks...OK

+ watch

Registering "grunt-contrib-jshint" local Npm module tasks.

Reading /Users/zen/ducks/are/cool/node_modules/grunt-contrib-jshint/package.json...OK

Parsing /Users/zen/ducks/are/cool/node_modules/grunt-contrib-jshint/package.json...OK

Loading "jshint.js" tasks...OK

+ jshint

Registering "grunt-contrib-connect" local Npm module tasks.

Reading /Users/zen/ducks/are/cool/node_modules/grunt-contrib-connect/package.json...OK

Parsing /Users/zen/ducks/are/cool/node_modules/grunt-contrib-connect/package.json...OK

Loading "connect.js" tasks...OK

+ connect

Registering "grunt-contrib-less" local Npm module tasks.

Reading /Users/zen/ducks/are/cool/node_modules/grunt-contrib-less/package.json...OK

Parsing /Users/zen/ducks/are/cool/node_modules/grunt-contrib-less/package.json...OK

Loading "less.js" tasks...OK

+ less

Registering "grunt-bower-task" local Npm module tasks.

Reading /Users/zen/ducks/are/cool/node_modules/grunt-bower-task/package.json...OK

Parsing /Users/zen/ducks/are/cool/node_modules/grunt-bower-task/package.json...OK

Loading "bower_task.js" tasks...OK

+ bower

Registering "grunt-exec" local Npm module tasks.

Reading /Users/zen/ducks/are/cool/node_modules/grunt-exec/package.json...OK

Parsing /Users/zen/ducks/are/cool/node_modules/grunt-exec/package.json...OK

Loading "exec.js" tasks...OK

+ exec

Registering "grunt-contrib-clean" local Npm module tasks.

Reading /Users/zen/ducks/are/cool/node_modules/grunt-contrib-clean/package.json...OK

Parsing /Users/zen/ducks/are/cool/node_modules/grunt-contrib-clean/package.json...OK

Loading "clean.js" tasks...OK

+ clean

Registering "grunt-contrib-requirejs" local Npm module tasks.

Reading /Users/zen/ducks/are/cool/node_modules/grunt-contrib-requirejs/package.json...OK

Parsing /Users/zen/ducks/are/cool/node_modules/grunt-contrib-requirejs/package.json...OK

Loading "requirejs.js" tasks...OK

+ requirejs

Initializing config...OK

Loading "Gruntfile.js" tasks...OK

+ autotest, build, default, production, styles:development

Running tasks: bower

Running "bower" task

Running "bower:install" (bower) task

Verifying property bower.install exists in config...OK

File: [no files]

Options: cleanTargetDir=false, cleanBowerDir=false, targetDir="./bower_components", layout="byComponent", install, verbose=false, copy, bowerOptions={}

>> Installed bower packages

Reading /Users/zen/ducks/are/cool/bower.json...OK

Parsing /Users/zen/ducks/are/cool/bower.json...OK

Reading bower_components/almond/almond.js...OK

Writing bower_components/almond/almond.js...OK

grunt-bower copying bower_components/almond/almond.js -> bower_components/almond/almond.js

Reading bower_components/backbone/backbone.js...OK

Writing bower_components/backbone/backbone.js...OK

grunt-bower copying bower_components/backbone/backbone.js -> bower_components/backbone/backbone.js

Reading bower_components/bootstrap/less/bootstrap.less...OK

Writing bower_components/bootstrap/bootstrap.less...OK

grunt-bower copying bower_components/bootstrap/less/bootstrap.less -> bower_components/bootstrap/bootstrap.less

Reading bower_components/bootstrap/dist/css/bootstrap.css...OK

Writing bower_components/bootstrap/bootstrap.css...OK

grunt-bower copying bower_components/bootstrap/dist/css/bootstrap.css -> bower_components/bootstrap/bootstrap.css

Reading bower_components/bootstrap/dist/js/bootstrap.js...OK

Writing bower_components/bootstrap/bootstrap.js...OK

grunt-bower copying bower_components/bootstrap/dist/js/bootstrap.js -> bower_components/bootstrap/bootstrap.js

Reading bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.eot...OK

Writing bower_components/bootstrap/glyphicons-halflings-regular.eot...OK

grunt-bower copying bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.eot -> bower_components/bootstrap/glyphicons-halflings-regular.eot

Reading bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.svg...OK

Writing bower_components/bootstrap/glyphicons-halflings-regular.svg...OK

grunt-bower copying bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.svg -> bower_components/bootstrap/glyphicons-halflings-regular.svg

Reading bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf...OK

Writing bower_components/bootstrap/glyphicons-halflings-regular.ttf...OK

grunt-bower copying bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf -> bower_components/bootstrap/glyphicons-halflings-regular.ttf

Reading bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff...OK

Writing bower_components/bootstrap/glyphicons-halflings-regular.woff...OK

grunt-bower copying bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff -> bower_components/bootstrap/glyphicons-halflings-regular.woff

Reading bower_components/chai/chai.js...OK

Writing bower_components/chai/chai.js...OK

grunt-bower copying bower_components/chai/chai.js -> bower_components/chai/chai.js

Fatal error: ENOENT, no such file or directory 'bower_components/coffeescript'

It seems to me that it's complaining that coffeescript is missing. I have tried cleaning my bower cache and removing everything from bower_components. the version of grunt-bower-task I'm using is 0.4.0 (latest at the time of writing)

The interesting thing is that if I run bower install it installs coffeescript nicely and that's the end of it (re-running the command installs nothing). Here's the output:

bower coffeescript#~1.7.1 cached git://github.com/jashkenas/coffeescript.git#1.7.1

bower coffeescript#~1.7.1 validate 1.7.1 against git://github.com/jashkenas/coffeescript.git#~1.7.1

bower coffeescript#~1.7.1 install coffeescript#1.7.1

coffeescript#1.7.1 bower_components/coffeescript

And here's my bower.json:

{

"name": "t3-web",

"version": "0.0.0",

"dependencies": {

"requirejs": "~2.1",

"thorax": "2.2.1",

"underscore": "1.5.0",

"handlebars": "1.0.0",

"backbone": "1.1.1",

"almond": "~0.2.6",

"fixtures": "~1.3.1",

"mocha": "1.x",

"chai": "1.x",

"sinon": "http://sinonjs.org/releases/sinon-1.7.3.js",

"sinon-chai": "2.x",

"text": "requirejs/text#~2.0.12",

"requirejs-hbs": "trombom/requirejs-hbs#v0.1",

"require-cs": "~0.5.0",

"jquery": "1.9.0",

"bootstrap": "3.x"

}

}

Any suggestion would be greatly appreciated, I've been struggling with this for days...

网友答案:

Looks like the issue is that the default value of the grunt-bower-task "copy" option is true:

options.copy

Type: Boolean Default value: true

Copy Bower packages to target directory.

The task tries to copy the package and the source and target directories are both "./bower_components" which is probably what is causing the failure.
I haven't figure out yet what is unique with coffeescript which fails the copying and how it differs from the rest of the packages.

By setting the copy option to false, I was able to solve the error:

options: {
    targetDir: "./bower_components",
    copy: false
}
分享给朋友:
您可能感兴趣的文章:
随机阅读: