我正在处理一个之前建立的项目。该项目使用Node和Grunt构建。 在项目的根目录中有一个Gruntfile.js文件。
我使用以下命令本地和全局安装了grunt:
npm i grunt
npm i -g grunt
在我安装了本地和全局的grunt-cli之后,使用以下命令:
npm i grunt-cli
npm i -g grunt-cli
当我尝试运行任何Grunt命令(develop、init等),都会出现错误。
internal/modules/cjs/loader.js:638
throw err;
^
Error: Cannot find module 'findup-sync'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
at Function.Module._load (internal/modules/cjs/loader.js:562:25)
at Module.require (internal/modules/cjs/loader.js:690:17)
at require (internal/modules/cjs/helpers.js:25:18)
at Object.<anonymous> (/usr/lib/nodejs/grunt-cli/bin/grunt:8:14)
at Module._compile (internal/modules/cjs/loader.js:776:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
我在许多论坛以及这里搜索了很多次,但都没有找到答案。 有人能帮助我吗?
更新
在花费超过24小时的时间进行错误修复后,我通过以下步骤解决了问题:
- 按照CPBL在评论中提到的方法,在Ubuntu上通过apt安装node-grunt-cli
apt install node-grunt-cli
在OSX上这是不必要的。
- 按照我在这个博客中找到的步骤。但是,我还需要运行以下命令:
grunt develop
作为超级用户,即使要更改许多文件夹的权限,也可以实现。
sudo apt install node-findup-sync
),但我也遇到了同样的问题。 - CPBL