在运行grunt时找不到模块'findup-sync'

问题描述 投票:2回答:1

我正在先前建立的项目中工作。该项目是使用Node和Grunt构建的。我在项目的根文件夹中有一个Gruntfile.js。

我在本地和全球安装了grunt,使用

npm i grunt
npm i -g grunt

之后,我在本地和全局安装了grunt-cli,使用

npm i grunt-cli
npm i -g grunt-cli

并且当我尝试运行任何grunt命令(开发,初始化等)时,出现错误

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)

我在很多论坛和这里也都进行了搜索,但没有找到答案。有人可以帮我吗?

UPDATE

在花费超过24小时解决此错误后,我通过以下步骤进行了修复:

  1. [通过apt在Ubuntu中安装node-grunt-cli,就像CPBL在他的评论中说
apt install node-grunt-cli

在OSX上这不是必需的。

  1. 按照我在此blog上找到的步骤进行。但是,我还需要运行命令
grunt develop

作为sudo,即使更改许多文件夹的权限。

node.js gruntjs
1个回答
2
投票

感谢Pablo Lopes使我走上了正确的道路(请参阅他的问题,其中包括答案)。我通过以下方法解决了我的问题:

  1. 通过apt安装node-grunt-cli:sudo apt install node-grunt-cli

  2. 使用sudo运行咕unt声:sudo grunt

这不是理想的解决方案,因为它在运行grunt时需要使用sudo-不必要。

© www.soinside.com 2019 - 2024. All rights reserved.