Ошибка компиляции gpp Atom: Nodejs child_process.spawn пробел в cwd

Я только что установил редактор Atom и пакет gpp https://github.com/livace/atom-gpp скомпилировать и запустить с ++. Когда я бегу, я получаю сообщение об ошибке, говорящее, что нет такого файла или каталога.

Я думаю, что это из-за того, что в моем пути к каталогу есть пробелы. Я проверил исходный код плагина gpp и нашел это:

const options = (file.path + ' -o ' + compiledPath + ' ' + atom.config.get('gpp.compilerOptions')).replace(/[\s{2,}]+/g, ' ').trim();

path.join(filePath.dir, filePath.name);

const child = child_process.spawn('g++', options.split(' '), {
cwd: filePath.dir
});

Я никогда не работал с nodeJs раньше, но я думаю, что это вызывает ошибку. Любая идея, как заставить это работать с пробелами в пути к каталогу (cwd)?

0

Решение

Я нашел исправление. В index.js плагина gpp измените

const options = (file.path + ' -o ' + compiledPath + ' ' + atom.config.get('gpp.compilerOptions')).replace(/[\s{2,}]+/g, ' ').trim();

path.join(filePath.dir, filePath.name);
console.log(options.split(' '));
const child = child_process.spawn('g++', options.split(' '), {
cwd: filePath.dir
});

к

  const options = atom.config.get('gpp.compilerOptions').replace(/[\s{2,}]+/g, ' ').trim();

path.join(filePath.dir, filePath.name);
var new_options = [file.path,'-o',compiledPath]
if (options != ""){
new_options = new_options.concat(options.split(' '));
}
const child = child_process.spawn('g++', new_options, {
cwd: filePath.dir
});
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]