2016-04-22 1 views
2

Я начинаю плагин gulp. Я хочу установить зависимости путем объединения package.json. Следующий код.gulp-install не устанавливает зависимости с виниловым файлом

gulp.task('install-dependencies', function() { 
    var through = require('through2'); 
    var npm = require('npm'); 
    var Promise = require('bluebird'); 
    var file = require('gulp-file'); 
    var install = require('gulp-install'); 
    var path = require('path'); 
    var npmLoad = Promise.promisify(npm.load); 
    var plugins = {}; 

    //for test 
    var lastFile; 

    gulp.src([`${PATH.plugin}**/package.json`]) 
     .pipe(through.obj(function parse_plugins(file, enc, cb) { 
      if (file.isNull()) { 
       cb(); 
       return; 
      } 

      if (file.isStream()) { 
       this.emit('error', new gulpUtil.PluginError('package-concat', 'Streaming not supported')); 
       cb(); 
       return; 
      } 
      let fileContent = {}; 
      try { 
       fileContent = JSON.parse(file.contents.toString()) 
      } catch (e) { 
       this.emit('error', new gulpUtil.PluginError('package-concat', `file '${file.path}' not a json file!`)); 
       throw e; 
      } 
      plugins = Object.assign({}, plugins, fileContent.dependencies) 
      lastFile = file; 
      cb(); 
     }, 
     function install(cb){ 
      let fileContent = {}; 
      fileContent.name = "test"; 
      fileContent.dependencies = plugins; 
      var file = new gulpUtil.File({ 
       base: path.join(__dirname, './'), 
       cwd: __dirname, 
       path: path.join(__dirname, './package.json'), 
       contents: new Buffer(JSON.stringify(fileContent)) 
      }); 
      this.push(file); 
      cb(); 
     } 
    )) 
    .pipe(install()); 
}) 

Но, зависимости не установлены, как ожидалось. И журнал как следует.

[14:50:37] Запуск 'установить-зависимость' ...

[14:50:37] Закончено 'установить зависимости' после 205 мса

НПМ WARN опционального Пропуска не удалось необязательных зависимостей/сторож/fsevents:

НПМ WARN notsup Не совместим с вашей операционной системы или архитектуры: [email protected]

ответ

0

Что такое вашей операционной системы?

Возможно, вы найдете что-то подобное here.

Похоже, вы можете попробовать удалить все и начать с нуля (или просто удалить папку node_module и использовать установку npm). Не уверен, хотя, во многом зависит от вашей операционной системы в соответствии с самой ошибкой.

+0

OS: win10, Node: v5.9.1, npm: 3.8.7 – user2530403

+0

Посмотрите здесь: https://github.com/npm/npm/issues/12185 На данный момент ответа нет, но может быть один, когда я набираю или через несколько дней ... Вы пытались удалить папку ** node_module **, а затем запустить 'npm install'? – kazu

+0

'npm install' просто установите мои devDependencies и основные зависимости. другие зависимости будут устанавливаться с помощью задачи gulp, когда часть package.json будет собрана и объединена. – user2530403

Смежные вопросы