2014-02-14 3 views
0

Я пытаюсь запустить метод component.io изнутри скрипта, хотя это не должно быть специфичным для component.io.использование методов командной строки в node.js

При нормальных обстоятельствах, в терминале, я бы написал. component install для установки всех зависимостей.

Я пытался использовать разные методы, но не могу заставить работать (или показывать какой-либо вывод).

Сначала я попытался в том числе компонент в качестве модуля

var componentIO = require('component'); 
componentIO.install(); 

К сожалению, когда я делаю это, ничего не происходит.

Когда я выхожу console.log(componentIO), он выводит как часть объекта install: [function], поэтому я думаю, что правильно его называю.

Другой способ, которым я попытался было через child_process

var cp = require('child_process'); 
var componentIO = cp.fork('component'); 
componentIO.send('install'); 

, но опять же, я не вижу никакого выхода в терминале.

Я принимаю неправильный такт для запуска команд изнутри узла?

ответ

1

Вы можете использовать модуль component-installer для установки компонентов.

var Installer = require('component-installer'); 
var installer = new Installer(__dirname); 

installer.on('package', function (pkg) { 
    console.log('installing', pkg.name, pkg.version); 
}); 

// arguments: (package name, package version) 
installer.installPackage('matthewmueller/io', 'master'); 

console.log('Packaged installed.'); 
+0

Хотя это может быть правильный ответ в отношении component.io, я на самом деле пытаюсь получить что-то, что работает в целом. – pedalpete

+0

@pedalpete Общий способ состоит в том, чтобы передать полный путь 'component' в' cp.fork() '. Вы можете запустить «какой компонент» в терминале, чтобы получить полный путь. – bnuhero

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