Я создаю проект javascript с Yeoman и использую очередь установки для установки зависимостей проекта. Работы по установке и зависимости установлены в правильной папке, но файл package-lock.json также был создан на том же уровне, что и папка проекта.
Этот файл package-lock.json имеет только один ключ и одно значение. Я не хочу этот файл.
{
"lockfileVersion": 1
}
Вот структура папок:
package
--ui (dependencies are installed in here just fine)
--package-json (the one I don't want)
Что я должен сделать, чтобы предотвратить создание этого дополнительного файла package-lock.json?
Моя среда:
Node 10.15.3
npm 6.7.0
yeoman 2.0.6
Пробовал выполнять узлы child_process.exec после установки.
exec('rm package-lock.json', (error, stdout, stderr) => {
if (error) {
console.error(`exec error: ${error}`);
return;
}
console.log(`stdout: ${stdout}`);
console.log(`stderr: ${stderr}`);
});
Также пробовал спа YeoCommandSync.
this.spawnCommandSync('rm', ['package-lock.json'], {
shell: true,
});
Моя writing()
очередь, которая записывает package.json в указанный мной каталог:
async writing() {
// generating other templates
const pkgJson = createPkgJson(config);
await this.fs.extendJSON(
this.destinationPath(`ui/package.json`),pkgJson);
}
При использовании exec
я получаю это сообщение об ошибке exec error: Error: Command failed: rm package-lock.json
.
Тогда npm
дает мне эту ошибку, npm WARN saveError ENOENT: no such file or directory, open '/path/to/my/root/project/package.json'
. Папка ui
также находится по этому пути '/path/to/my/root/project/'
. Проблема в том, что у меня нет файла package.json, так как я указываю yeoman для установки внутри папки ui
, а не на этом корневом уровне.