Grunt phpcs警告:当使用watch进行文件更改时,会产生ENAMETOOLONG

时间:2015-05-19 14:14:24

标签: javascript node.js wordpress gruntjs

我最近开始使用grunt来帮助自动化一些编码任务。我真的想实现phpcs(PHP Code Sniffer)模块,但是我试图让它工作时遇到错误。

我的开发工作站是Windows 7 64位操作系统。我安装了Node.js以及Grunt和Grunt CLI。

这是我的grunt文件中的phpcs配置。

    phpcs: {
        theme: {
        src: '**/*.*'
        },
        options: {
            bin: "vendor/bin/phpcs --extensions=php ",
            standard: "WordPress-Core"
        }
    },

    watch: {
        scripts: {
            files: '**/*.js',
            tasks: ['jshint'],
        },
        php: {
            files: '**/*.php',
            tasks: ['phpcs'],
        },
        css: {
            files: '**/*.css',
        },
        lr: {
            options: { 
                livereload: true 
            },
            files: ['**/*.js', '**/*.php', '**/*.css'],
        }
    },

});

当我运行grunt然后更改php文件时,我得到以下内容

Running "watch" task
Waiting...
>> File "header.php" changed.
Running "phpcs:theme" (phpcs) task
Warning: spawn ENAMETOOLONG Use --force to continue.

Aborted due to warnings.
Completed in 2.422s at Tue May 19 2015 09:57:21 GMT-0400 (Eastern Daylight Time)
 - Waiting...

我试图用fenestrate来缩短路径,但这并没有帮助。我将我的项目目录从我的开发wordpress安装中移出,并且更靠近我的驱动器的根目录,但即使有了成功,这也没有帮助。

我不确定ENAMETOOLONG警告的抱怨路径是什么。我真的希望能够帮助我改进代码。

非常感谢任何建议或帮助。

1 个答案:

答案 0 :(得分:0)

我发现PHP_CodeSniffer没有加载我下载的标准以及默认标准。

在尝试加载我想要的标准时,我看到路径结束于

public class Person2{
   public IList<Trait> Traits {get;set;}
}

public class Trait{
    public string Name {get;set;}
    public string Value {get;set;}
}

应该是什么时候

c:\program

我最初使用Windows平台安装程序安装了PHP。所以我最终删除了我的PHP安装。再次下载PHP 5.6并解压缩到C:根目录下的文件夹,然后重新安装pear并重新安装PHP_CodeSniffer,现在它正在我的grunt文件中工作。它正在处理我的所有PHP文件,而不仅仅是那些改变的文件,但它至少可以正常工作。