Я установил 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
Однако эта переменная среды не существует в дочернем процессе. Почему это происходит? Как это исправить?