Ich habe eine grunt Aufgabe, die JSCS auf einem JavaScript-Code-Basis läuft und es funktionierte, bis es Zeit kam, mit dem Build-Server zu integrieren, der neueste, stabile Versionen verwendet von grunt, npm/Knoten.Knoten/NPM/Grunt scheitert an jscs (grunt-jscs)
Das alles lief gut unter npm 1.XX.X, aber nachdem ich auf 2.XX.X aufgerüstet habe, brach es. Ich habe versucht, 3.XX.X, und das scheiterte auf die gleiche Weise wie 2.XX.X.
Ich nehme an die einschlägigen benötigten Teile der Ausgang
die cli sind:
$ node -v
v5.2.0
$ npm -v
3.3.12
$ grunt --version
grunt-cli v0.1.13
grunt v0.4.5
$ grunt jscs
Loading "jscs.js" tasks...ERROR
>> TypeError: fn.call is not a function
Warning: Task "jscs" not found. Use --force to continue.
Aborted due to warnings.
package.json:
{
"name": "Javascript",
"version": "1.0.0",
"private": true,
"devDependencies": {
"grunt": "~0.4.5",
"matchdep": "^0.3.0",
"grunt-contrib-watch": "~0.6.1",
"grunt-express": "~1.4.1",
"grunt-open": "~0.2.3",
"grunt-chmod": "~1.0.3",
"grunt-contrib-jshint": "~0.11.3",
"grunt-contrib-uglify": "~0.10.0",
"karma": "~0.13.15",
"grunt-karma": "~0.12.1",
"jasmine-core": "~2.3.4",
"karma-jasmine": "~0.3.6",
"phantomjs": "~1.9.18",
"karma-phantomjs-launcher": "~0.2.1",
"angular-mocks": "~1.2.28",
"jquery": "~2.1.4",
"underscore": "~1.8.3",
"grunt-contrib-clean": "~0.6.0",
"karma-coverage": "~0.5.3",
"grunt-jscs": "~2.3.0",
"grunt-contrib-concat": "~0.5.1"
}
}
Gruntfile.js config:
module.exports = function (grunt) {
require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks);
grunt.initConfig({
.....
jscs: {
src: [
'gruntfile.js',
'<%= sourceFolder %>/**/*.js',
'!<%= sourceFolder %>/angular/**',
'!<%= sourceFolder %>/es5-shim/**',
'!<%= sourceFolder %>/**/*[.-]min.js',
'!<%= sourceFolder %>/respond/*.js',
'!<%= sourceFolder %>/angular-ui-bootstrap/*.js',
'!<%= sourceFolder %>/analytics/angulartics*.js'
],
options: {
config: '.jscsrc',
fix: true
}
}
});
Ich vermute, dass jscs auf dem Build-Server installiert ist und funktioniert? – kuzyn
Das Problem war, dass ich eine alte Version von node/npm lokal ausgeführt habe und es dann nie funktioniert hat, dass der Build in dieser Umgebung läuft. Also, nein, der Build-Server funktioniert nicht und hat noch nie funktioniert. Lokal auf ~ 1.X node/npm funktioniert gut. – Mutmatt
Haben Sie versucht, die node_module vollständig zu entfernen, den npm-Cache zu löschen und eine neue 'npm-Installation' des Projekts durchzuführen? – kuzyn