38

grunt-cliインストール後、動作に問題があります。走る

npm install -g grunt-cli

次に、うなり声エラーを実行します

    node.js:63
    throw e;
    ^
Error: Cannot find module 'findup-sync'
    at loadModule (node.js:275:15)
    at require (node.js:411:14)
    at Object.<anonymous> (/home/tmartin/bin/grunt:9:14)
    at Module._compile (node.js:462:23)
    at Module._loadScriptSync (node.js:469:10)
    at Module.loadSync (node.js:338:12)
    at Object.runMain (node.js:522:24)
    at Array.<anonymous> (node.js:756:12)
    at EventEmitter._tickCallback (node.js:55:22)
    at node.js:773:9

これは私がインストールしたものです:

tmartin@timcomp:~$ npm list -g
/home/tmartin/lib
└─┬ grunt-cli@0.1.6
  ├─┬ findup-sync@0.1.2
  │ ├─┬ glob@3.1.21
  │ │ ├── graceful-fs@1.2.0
  │ │ ├── inherits@1.0.0
  │ │ └─┬ minimatch@0.2.11
  │ │   ├── lru-cache@2.2.2
  │ │   └── sigmund@1.0.0
  │ └── lodash@1.0.1
  └─┬ nopt@1.0.10
    └── abbrev@1.0.4
4

10 に答える 10

13

grunt-cli をグローバルに再インストールして、自分のレポに再インストールしました。

npm install -g grunt-cli

cd myrepo

npm install grunt-cli

Yosemite をインストールすると、ファイルの一部が破損したと思います ...

于 2014-10-20T07:34:29.090 に答える
13

これらの依存関係の問題を解決するには、findup-sync と他のいくつかの npm パッケージをインストールしてリンクする必要がありました。npm がそれらを処理するはずでしたが、依存関係を手動でインストールすると問題が解消されました。

npm install findup-sync -g

npm link findup-sync

于 2014-01-14T06:06:52.783 に答える
6

これは、npm が /usr/lib/node_modules/grunt-cli のサブディレクトリ node_modules に適切な権限を設定していないためです。私の場合、私は持っていました:

drwxr-x--- 6 nobody root 4096 16 févr. 17:08 node_modules

root 以外のユーザーとして grunt を実行すると、このディレクトリの読み取り権限が拒否されたため、同じエラー (モジュール 'findup-sync' が見つかりません) が発生しました。

解決策は、chmod: chmod a+rx node_modules でパーミッションを修正することです。

しかし実際には、すべてのディレクトリが関係していました。最善の方法は todo でした:

find /usr/lib/node_modules/grunt-cli -type d -exec chmod a+rx {} \;

これはおそらくディストリビューションのバグです (私は Archlinux を使用しています)。

于 2014-02-16T16:28:40.543 に答える
2

NVM を使用していますが、アクティブ ノードのバージョンを変更するたびにこの問題が発生していました。

@davidcondrey の提案に従って、私はうまくいきました。問題は、grunt の前にgrunt-cli をインストールすることでした。順序が違いを生み、それを修正しました。

npm i -g grunt-cli grunt

sudoを使用してアクセス許可をテストするという @inostia の回答は問題ありませんでしたが、ファイルのアクセス許可に関してかなりの頭痛の種になりました。

于 2020-01-21T20:16:36.513 に答える
1

次のコマンドを使用して Grunt を再インストールすることで、これを修正できました。

sudo npm remove -g grunt-cli
sudo npm install -g grunt-cli
于 2019-03-29T15:59:43.663 に答える
0

私はこれを実行して解決しました:

npm install -gg grunt-cli --force
于 2021-11-05T01:24:57.110 に答える