Я хочу обновить значение @test: registry = для процесса myNode.js, который он вызвал из package.json. Я попытался обновить все env, но это не сработало. Можно ли это сделать из childproc.execSync?
package.json
{
"name": "test1",
"scripts": {
"postinstall": "node myNode.js",
"start": "node node_modules/xx"
}
}
myNode.js
childproc.execSync('npm install && npm run build', { cwd: '..', shell: true, stdio: 'inherit' , env : {env:process.env}})
Я тоже пробовал
childproc.execSync('npm install && npm run build', { cwd: '..', shell: true, stdio: 'inherit' , env : {env:{ 'npm_config__test_registry':value}})
тогда я получил / bin / sh: 1: npm: not foundchild_process.js: 644 throw err; ^
Я попытался распечатать process.env до того, как создал childproc, а затем я увидел свои соответствующие настройки, но когда я попытался проверить его в childProc с помощью списка конфигурации npm, я увидел разные значения
когда я пытался
childproc.execSync('npm config set @test:registry:value && npm install && npm run build', { cwd: '..', shell: true, stdio: 'inherit' })
тогда это сработало. можно ли сделать это с помощью env в execSync



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Добавить в myNode.js
Вы можете установить переменную среды в process.env
process.env.NODE_ENV = 'production';
но я открываю новый процесс в childProc, поэтому как мне переместить process.env в chidlproc?
Пробовал делать console.info (process.env.NODE_ENV); и я получил неопределенное
Вы можете установить здесь переменную env, используя это
когда я console.info (process.env), я получил список npm_config, но когда я попытался сделать список конфигурации npm из childProc, я не увидел ту же конфигурацию
что мне нужно передать в process.env.NODE_ENV? Я пытался пройти все env, и это не сработало
process.env.npm_config__test_registry = значение
process.env.npm_config__test_registry уже имеет это значение, проблема в процессе, который был создан childproc, у него неправильный env, и я пытался установить его, но это не сработало
если я сделаю childproc.execSync ('npm config set @test: registry' + process.env.npm_config__test_registry + '&& npm install && npm run build', {cwd: '..', shell: true, stdio: 'inherit '}), тогда это сработало, могу ли я сделать это другим способом без конфигурации npm и каким-то образом передать env дочернему процессу
где мне его установить? и как я могу обновить реестр @scope?