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。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
不外乎用了平台相关的东西,或者两边跑的代码压根不一样
关键是,不贴代码,只告诉我Gruntfile.js里有forEach,这叫我怎么找问题呢……
题主啊,一年前有人遇到一样的问题在 Github 发了 issue:https://github.com/gruntjs/grunt/issues/610
你先检查一下和他的情况类似不?(升级 jshint,如果你装了的话)
如果和 jshint 没关系,那我建议你把你的
Gruntfile
做个排查,说不定是哪个插件造成的,然后再试试升级之类的办法。实在找不出原因,把
Gruntfile
贴上 Gist 再来,或者直接发 issue。另外你的 node 是不是老了点啊,换个版本试试,折腾呗~我在公司就有用的 win7(集成测试),但我是不升级就不舒服斯基,只要不是依赖不允许,我都用最新版本,所以我没遇到过和你一样的问题呀。
同样的问题啊,求解决。纠结了很久了...