2021.02.07

Node.js

gulp-scss-lintの動作要件

gulp-scss-lint実行時に以下のようなエラーが発生する場合があります。これはgulp-scss-lintがインストールされているにもかかわらず、scss-lintがインストールされていないため発生するエラーです。

Error in plugin "gulp-scss-lint"

'scss-lint' is not recognized as an internal or external command,
operable program or batch file.

Details:
    domainEmitter: [object Object]
    domainThrown: false

gulp-scss-lintは内部でRuby製のscss-lintを利用しています。そのためまずscss-lintをインストールします。その後、gulp上でscss-lintを実行する為のgulp-scss-lintをインストールします。

scss-lintのインストールは、PCにRubyがインストールされている必要があります。ruby -vを実行してRubyのバージョンが表示されればインストールされていますが、以下のように表示される場合はインストールされていません。

ruby -v
'ruby' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

以下のサイトからRubyのインストーラーをダウンロードします。Windowsが64bitの場合はx64版、32bitの場合はx86版を選択します。
https://rubyinstaller.org/downloads/

Rubyをインストールすると最後にMSYS2のインストールを引き続き行うか確認があります。MSYS2はインストールしなくてもscss-lintのインストールは可能です。ダイアログのチェックボックスはデフォルトでONになっていますが、OFFにして終了します。

Rubyインストール後、再度ruby -vを実行してRubyがインストールされていることを確認します。

ruby -v
ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x64-mingw32]

次に以下を実行してscss-lintをインストールします。gemはRubyのパッケージを管理するパッケージ管理システムです。Rubyをインストールすることで実行できるようになります。

gem install scss_lint

最後に、gulp-scss-lintがインストールされていない場合は以下を実行してインストールします。これでgulp上でscss-lintが動作するようになり、gulp-scss-lintを実行してもエラーは発生しません。

npm install gulp-scss-lint

gulp-scss-lintはgulpを起動しgulpfile.jsから実行することになります。そこでgulp上でscss-lintが動作します。ですが、gulpを起動せず直接scss-lintを実行することもできます。対象のscssファイルのあるディレクトリに移動し、そこでscss-lintを実行するとコードのチェックができます。

cd /D C:\xxx\_gulp\src\scss\page
scss-lint

関連記事

2021.03.06

Node.js

gulp-eslintの動作要件

gulp-eslint実行時に以下のようなエラーが発生する場合があります。これはgulp-eslintがインストールされていても、parserで使用しているba…

2021.03.22

Node.js

gulp-plumberとgulp-notifyでエラーを通知

gulpのwatchメソッドでscssファイルを監視し、scssファイル更新時にsassを自動コンパイルする場合、scssファイル内に記述エラーがあるとwatc…

2021.03.18

Node.js

gulpでソースマップを出力

gulpでsassコンパイル時にソースマップを出力します。gulp4は標準機能でソースマップが書き出せます。gulp3のようにgulp-sourcemapsのイ…

2021.03.10

Node.js

npm run-scriptでgulpを実行

ローカルにインストールしたnpmパッケージの実行は、npxコマンドを利用するのが簡単です。以下のgulpfile.jsでテストします。各タスクのfunction…

2021.01.11

Node.js

npm initによるpackage.jsonの作成とパッケージのインストール

プロジェクトを作成するディレクトリでnpm initを実行してpackage.jsonを作成します。対話形式で作成しますが何も入力せずEnterキーで進めていく…

上に戻る