JSCSをjavascriptコードベースで実行するgruntタスクがあり、最新の安定版を使用しているビルドサーバーと統合する時間が来るまで働いていました無駄な、npm /ノードの。jscs(grunt-jscs)でノード/ NPM/Gruntが失敗する
これはnpm 1.XX.Xの下ですべて正常に動作しましたが、2.XX.Xにアップグレードした後に破損しました。私は最新の3.XX.Xを試しましたが、それは2.XX.Xと同じ方法で失敗しました。
$ 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設定:
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
}
}
});
jscsがインストールされ、ビルドサーバーで動作していると思いますか? – kuzyn
問題は、以前のバージョンのnode/npmをローカルで実行していて、その環境で動作するビルドが動作しなかったことでした。したがって、ビルドサーバーは動作しません。ローカル〜1.Xノード/ npmで正常に動作します。 – Mutmatt
node_modulesを完全に削除して、npmキャッシュをクリアして、プロジェクトの新しい 'npm install'をやってみましたか? – kuzyn