首页 > Windows 下运行 Grunt 命令为什么和 Linux 下的结果不同?

Windows 下运行 Grunt 命令为什么和 Linux 下的结果不同?

没办法,特殊情况就得用下Windows。
下面要问的情况在Linux下是没问题的。

Windows7下安装的Node.js v0.8.0,在Gruntfile.js的目录下执行:

grunt
# 或其他带有具体任务的命令
grunt task1

都提示类似如下信息:

Loading "Gruntfile.js" tasks...ERROR
>> TypeError: Object #<Object> has no method 'forEach'
Warning: Task "default" not found. Use --force to continue.

Aborted due to warnings.

即使用--force也一样。
Gruntfile.js文件中是有forEach,但这样公共的文件在Ubuntu下就可以正常执行。
而且Node.js的版本还是v0.10.26。


不外乎用了平台相关的东西,或者两边跑的代码压根不一样

关键是,不贴代码,只告诉我Gruntfile.js里有forEach,这叫我怎么找问题呢……


同样的问题啊,求解决。纠结了很久了...


题主啊,一年前有人遇到一样的问题在 Github 发了 issue:https://github.com/gruntjs/grunt/issues/610

你先检查一下和他的情况类似不?(升级 jshint,如果你装了的话)

如果和 jshint 没关系,那我建议你把你的 Gruntfile 做个排查,说不定是哪个插件造成的,然后再试试升级之类的办法。

实在找不出原因,把 Gruntfile 贴上 Gist 再来,或者直接发 issue

另外你的 node 是不是老了点啊,换个版本试试,折腾呗~我在公司就有用的 win7(集成测试),但我是不升级就不舒服斯基,只要不是依赖不允许,我都用最新版本,所以我没遇到过和你一样的问题呀。

【热门文章】
【热门文章】