Почему child_process не может получить переменную окружения родительского процесса? - PullRequest
0 голосов
/ 26 марта 2020

Я установил Kotlin в Ubuntu с помощью следующей команды в dockerfile:

RUN curl -s https://get.sdkman.io | bash
RUN chmod a+x "$HOME/.sdkman/bin/sdkman-init.sh"
RUN /bin/bash -c "source $HOME/.sdkman/bin/sdkman-init.sh && sdk install kotlin"

Теперь я использую терминал через node.js child_process. Команда:

let compileKOTLIN = () => {
let path = process.env.KOTLIN_HOME;
cp.execSync(
     `cd ${PROJECT_ROOT_PATH}/kotlin &&` +
     `${path}/bin/kotlinc ${PROJECT_ROOT_PATH}/kotlin/main.kt -include-runtime -d main.jar`
);

Кроме того, в родительском процессе существуют следующие переменные среды.

KOTLIN_HOME = /root/.sdkman/candidates/kotlin/current

Однако эта переменная среды не существует в дочернем процессе. Почему это происходит? Как это исправить?

...