Как передать параметр env в nodejs

Я хочу обновить значение @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

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
141
1

Ответы 1

Добавить в myNode.js

Вы можете установить переменную среды в process.env

process.env.NODE_ENV = 'production';

где мне его установить? и как я могу обновить реестр @scope?

user1365697 18.03.2018 13:05

но я открываю новый процесс в childProc, поэтому как мне переместить process.env в chidlproc?

user1365697 18.03.2018 13:07

Пробовал делать console.info (process.env.NODE_ENV); и я получил неопределенное

user1365697 18.03.2018 13:09

Вы можете установить здесь переменную env, используя это

Nitish Kumar 18.03.2018 13:10

когда я console.info (process.env), я получил список npm_config, но когда я попытался сделать список конфигурации npm из childProc, я не увидел ту же конфигурацию

user1365697 18.03.2018 13:10

что мне нужно передать в process.env.NODE_ENV? Я пытался пройти все env, и это не сработало

user1365697 18.03.2018 13:25

process.env.npm_config__test_registry = значение

Nitish Kumar 18.03.2018 14:22

process.env.npm_config__test_registry уже имеет это значение, проблема в процессе, который был создан childproc, у него неправильный env, и я пытался установить его, но это не сработало

user1365697 18.03.2018 15:25

если я сделаю 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 дочернему процессу

user1365697 18.03.2018 16:22

Другие вопросы по теме