Mac OS X без переменных окружения при использовании sudo - PullRequest
0 голосов
/ 30 мая 2018

Я пытаюсь настроить среду разработки для nativescript на Mac OS High Sierra.

Я установил все необходимые инструменты (который содержит Android SDK, JDK).И добавил путь (ANDROID_HOME, JAVA_HOME) для них обоих, используя .bash_profile, .bash_rc.

Если tns doctor, который проверяет, установлены ли переменные среды - Это все хорошо.

Но когдаЯ запускаю sudo tns doctor, он говорит ANDROID_HOME и JAVA_HOME и не настроен.Я думал, что это может быть больше проблема Mac, чем проблема nativescript.

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 30 мая 2018

С man sudo :

-E
Опция -E (сохранить среду) указывает политике безопасности, что пользователь желает сохранить свои существующие переменные среды,Политика безопасности может возвращать ошибку, если указана опция -E и у пользователя нет прав на сохранение среды.

Если вы хотите, чтобы переменные сохраняли свои значения, вызовите sudo -E tns doctor.Вы также можете вызвать sudo "ANDROID_HOME=$ANDROID_HOME" "JAVA_HOME=$JAVA_HOME" tns doctor, чтобы экспортировать только эти две переменные.

0 голосов
/ 30 мая 2018

Вам нужно использовать -E

> export VAR=hello
> sudo su
Password:
> env | grep VAR
> exit
> sudo -E su
> env | grep VAR
VAR=hello
...