jshint错误:无法找到模块'下划线'

时间:2014-12-02 14:20:02

标签: javascript npm

我的grunt任务似乎运行得非常好,但每次运行它我都会收到此错误:

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

有什么方法可以找出这种情况发生的原因吗?我可以看到/grunt-contrib-jshint目录位于/node_modules目录中。有没有理由找不到underscore模块?我尝试过运行npm install,但在运行grunt时仍然遇到同样的错误。

有什么想法吗?任何帮助表示赞赏。

4 个答案:

答案 0 :(得分:20)

当你有cannot find module x errors时,有时候可能有用的一件事就是删除整个npm_modules文件夹,然后再次运行npm install

有时候,在最初的npm install上,它可能无法获得一个包的依赖关系,并且当你再次运行npm install时它不会尝试再次获取它,因为它得到了全部想要的软件包,可能不是这些软件包的所有依赖项。

答案 1 :(得分:4)

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

答案 2 :(得分:0)

执行以下操作:

npm update
npm install underscore

如果这不起作用,请执行以下操作。

rm -rf node_modules
npm install -d
npm update

答案 3 :(得分:0)

如果您使用的是 Magento 2,请确保您没有意外删除文件“package.json”。如果文件存在,则执行:

npm remove -g grunt grunt-cli && npm install -g grunt grunt-cli && npm install grunt --save-dev && npm install

然后你可以测试

grunt refresh