tohoku86
@tohoku86

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

gulp sass npm など

解決したいこと

初学者です。npm,gulp,sassのインストールなどで苦戦しています。それは何をしても、'MODULE_NOT_FOUND'とエラーが出てしまうからです。

例)
npmインストール
gulpインストール
node.js インストール
などは、できました。
gulp sass
gulp imagemin
などを実行すると、'MODULE_NOT_FOUND'
が出て、全く進めていません。

'MODULE_NOT_FOUND'

ググって手当たり次第試してもだめでした。

var gulp = require('gulp');
var minifycss = require('gulp-minify-css');
var sass = require('gulp-sass');
var changed  = require('gulp-changed');
var imagemin = require('gulp-imagemin');

// gulpタスクの作成
// gulp.task()を使う
// 第一引数に任意のタスク名、第二引数に実行したい処理をfunction関数で渡してあげる
// 関数内ではpipe()で処理を繋ぐ(jQueryのメソッドチェーンと同じ)

//CSS圧縮
gulp.task('minify-css', function() {
  return gulp.src("src/css/*.css")
    .pipe(minifycss())
    .pipe(gulp.dest('dist/css/'));
});

// defaultで動かすタスクを指定
// defaultに設定しておくとgulpコマンドだけでタスクが実行される
// 書き方は第二引数に配列でタスクを指定する
// gulp.task(‘default’,[‘タスク名’,’タスク名’,’タスク名’,…]);
gulp.task('default',['minify-css']);


// sassをコンパイル
gulp.task('sass', function(){
  gulp.src('./src/scss/*.scss')
    .pipe(sass())
    .pipe(gulp.dest('./css'));
});

// 画像圧縮
// 圧縮前と圧縮後のディレクトリを定義
var paths = {
  srcDir : 'src',
  dstDir : 'dist'
};
// jpg,png,gif画像の圧縮タスク
gulp.task('imagemin', function(){
  var srcGlob = paths.srcDir + '/**/*.+(jpg|jpeg|png|gif)';
  var dstGlob = paths.dstDir;
  gulp.src( srcGlob )
    .pipe(changed( dstGlob ))
    .pipe(imagemin([
      imagemin.gifsicle({interlaced: true}),
      imagemin.mozjpeg({progressive: true}),
      imagemin.optipng({optimizationLevel: 5})
      ]
    ))
    .pipe(gulp.dest( dstGlob ));
});


// Gulpを使ったファイルの監視
// watch()を使う
// 第一引数は監視したいディレクトリ配下
// 第二引数に変更があった場合に実行するタスクを配列形式で指定
gulp.task('watch', function(){
  gulp.watch(paths.srcDir + '/**/*', ['imagemin']);
});

自分で試したこと

npmのバージョン確認済み。
必要なファイルも作成済み。(gulpfile.jsなど)
PATHが通っていないのかと思い、PATHのコード入力しましたが、解決できず。
何かヒントをいただけると嬉しいです。よろしくお願い致します。

0

1Answer

必要なモジュールがインストールされていないようです。エラーメッセージの MODULE_NOT_FOUND の後に出ている見つからないモジュールの名前を確認してください。

勘ですが gulp-minify-css や gulp-changed をインストールしていないのでは。

1Like

Comments

  1. @tohoku86

    Questioner

    回答ありがとうございます。確認すべきコードは
    code: 'MODULE_NOT_FOUND',
    requireStack: [
    '/Applications/MAMP/htdocs/test/js_advance/gulp_test/gulpfile.js',
    '/usr/local/lib/node_modules/gulp/node_modules/gulp-cli/lib/shared/require-or-import.js',
    '/usr/local/lib/node_modules/gulp/node_modules/gulp-cli/lib/versioned/^4.0.0/index.js',
    '/usr/local/lib/node_modules/gulp/node_modules/gulp-cli/index.js',
    '/usr/local/lib/node_modules/gulp/bin/gulp.js'
    ]
    のコードなのはわかりました。gulp-clean-cssはインストール試していましたがMODULE_NOT_FOUNDで実行できておらす、 gulp-changed はインストールしてなかったので先ほど実行しましたが、同じ結果です。
    上記のコードの中にヒントがあるのでしょうか。
    無知ですみません。。
  2. 失礼しました。足りないモジュール名は前の方に出ています。

    $ gulp sass
    Error: Cannot find module 'gulp-minify-css'
    Require stack:
    - /Users/uasi/tmp/gulpfile.js
    ...
    code: 'MODULE_NOT_FOUND',
    requireStack: [
    ...

    gulp sass を実行してこのようなエラーが出たとすると、エラーメッセージ1行目にあるように gulp-minify-css モジュールが足りないということです。それをインストールして gulp sass をやり直してください。

    基本的には、 gulpfile.js の先頭付近で require() している gulp- 関係のモジュールをすべて npm install すれば動くようになると思います。
  3. @tohoku86

    Questioner

    @uasiさん、ありがとうございます!! 勉強になりました!!
    特にrequire() している gulp- 関係のモジュールをすべて npm install すれば動くようになると思います。が新たな発見で助かりました!

    無事に全てインストールできて、yarnまでインストール完了するというところまで行けました。
    本当にありがとうございました。

Your answer might help someone💌