9

grunt-htmltask を使用して HTML ファイルをチェックしたいと考えています。

タスクをローカルにインストールし、次のようnpm install grunt-htmlに使用しgrunt.jsます。

module.exports = 関数 (うなり声) {

    grunt.loadNpmTasks('grunt-html');

    grunt.initConfig({

        htmllint:{
            すべて:['*.html']
        }、

    });

};

grunt-htmlここで、タスクをグローバルにインストールしたいと思います。

残念ながら、ローカルgrunt-htmlノード モジュールを削除してグローバルに gruntインストールすると、タスクのロードに失敗します。実行grunt htmllint中に私は得る:

>> ローカル Npm モジュール "grunt-html" が見つかりません。インストールされていますか?

ファイルgrunt.loadNpmTasks('grunt-html');から削除すると、次のようになります。grunt.js

タスク「htmllint」が見つかりません。--force を使用して続行します。

だから私の質問は、grunt-htmlインストールされたグローバルに使用する方法ですか?

4

1 に答える 1

13

loadNpmTasksのドキュメントによると、 gruntjs は現在、グローバルにインストールされた grunt モジュールの からのロードをサポートしていませんgrunt.loadNpmTasks

このプラグインは、npm を介してローカルにインストールする必要があり、grunt.js gruntfile に対して相対的である必要があります。

もちろん、どうしてもグローバルにインストールしたいのであればln -s、ローカルnode_modulesディレクトリからグローバルnode_modules/grunt-htmlディレクトリへのシンボリック リンク ( ) を作成するのがハックです。

モジュールの開発を行っている場合、別の代替手段として、npm linkシステムのどこかに存在するモジュールをローカルにインストールできる、あまり評価されていないコマンドを使用することもできます (npm help link使用方法については、を参照してください)。

grunt-htmlただし、どちらのアプローチでも、パッケージを完全にグローバルにインストールすることはできません。

于 2012-10-02T23:08:37.340 に答える