2014-12-02 53 views
5

grunt任务似乎运行完全正常,但我每次运行它的时候,我得到这个错误:jshint错误:无法找到模块“下划线”

Loading "jshint.js" tasks...ERROR 
>> Error: Cannot find module 'underscore' 

有没有办法找出原因这是怎么回事?我可以看到/grunt-contrib-jshint目录在/node_modules目录中。是否有任何理由找不到underscore模块?我试过运行npm install,但是当我运行grunt时,我仍然遇到同样的错误。

任何想法?任何帮助表示赞赏。

+1

当你找不到模块x错误时,有时候可能会帮助你删除整个'npm_modules'文件夹,然后再次运行'npm install'。有时,在最初的'npm install'上,它可能无法获得一个包的一个依赖项,并且当你再次运行'npm install'时它不会尝试再次获取它,因为它获得了所有你想要的包,只是可能不是所有这些软件包的依赖关系。 – jValdron 2014-12-02 14:22:01

+0

@jValdron感谢您的提示。这很有用! – realph 2014-12-02 14:25:16

+0

已发布回答,这样你可以接受它,并“关闭”这个问题:) – jValdron 2014-12-02 14:28:15

回答

17

当您有cannot find module x errors时,有时可能会帮助您删除整个npm_modules文件夹,并再次运行npm install

有时候,初始npm install,可能未能获得一个包一个依赖,它不会尝试,当你再次运行npm install再次得到它,因为它得到了所有的包想要的,只是可能不是所有这些软件包的依赖关系。

+0

同意,为我工作。我得到了类似的错误: '加载“jshint.js”任务...错误 >>错误:找不到模块'cli'' – 2015-07-08 13:00:25

4

你可以使用npm update 我测试这个命令和这个答案。

+0

它应该是'npm update'而不是'upm update' – bla0009 2016-06-30 13:10:46