protected function execute(InputInterface $input, OutputInterface $output)
 {
     $installPath = $input->hasArgument('path') ? $input->getArgument('path') : null;
     $composerCmd = $input->hasArgument('composer_cmd') ? $input->getArgument('composer_cmd') : null;
     $io = $this->getIO();
     try {
         $installer = Installer::getInstaller($composerCmd);
     } catch (\RuntimeException $e) {
         $io->writeError('ERROR: ' . $e->getMessage());
         // TODO : Use verbosity levels to enable showing the stacktrace
         return self::RETURN_CODE_INSTALLER_INSTANTIATION_ERROR;
     }
     try {
         $installer->install($installPath, (bool) $input->getOption('verbose'));
     } catch (\RuntimeException $e) {
         $io->writeError('ERROR: ' . $e->getMessage());
         // TODO : Use verbosity levels to enable showing the stacktrace
         return self::RETURN_CODE_INSTALLER_INSTALL_ERROR;
     }
     $io->write('<info>The Jupyter-PHP kernel has been successfully installed.</info>');
     return self::RETURN_CODE_OK;
 }
 /**
  * LinuxInstaller constructor.
  * @param WindowsSystem $system
  * @param string $composerCmd
  */
 public function __construct(WindowsSystem $system, $composerCmd)
 {
     parent::__construct($system, $composerCmd);
 }