История: Я установил Selenium (java_home уже позаботился об этом и работал). Теперь я устанавливал Android Studio(mac) и мне нужно было настроить env для Java_home. Сначала я набрал:
set Android_home
export Android_home=/Library/Android/Home
echo Android_home
затем:
nano .bash_profile
Добавляем Android_home.
export Android_home=/Users/<username>/Library/Android/sdk
export PATH=$PATH:$Android_home/tools
export PATH=$PATH:$Android_home/tools/bin
export PATH=$PATH:$Android_home/platform-tools
И наконец:$ source .bash_profile
Затем закрыл все, снова открыл терминал. Терминал мгновенно запустил эту конкретную строку (бесконечно).
-bash: export: 'PATH/bin': not a valid identifier
Через некоторое время он меняется на
--bash: export: 'PATH/bin': not a valid identifier
--bash: /usr/libexec/java_home: Argument list too long
Спасибо, что уделили время прочтению моего вопроса. [Это мой первый вопрос. Извините за ошибки новичка.]
.bash_profile [Открыл текстовый редактор, нажал Command + Shift + >, чтобы показать скрытые файлы.]
Export JAVA_HOME=$(/usr/libexec/java_home)
PATH="/Library/Frameworks/Python.framework/Versions/3.7/bin:${PATH}"
export PATH
export MONGO_PATH=/usr/local/mongodb
export PATH=$PATH:$MONGO PATH/bin
export Android_home=/Users/<username>/Library/Android/sdk
export PATH=$PATH:$Android_home/tools
export PATH=$PATH:$Android_home/tools/bin
export PATH=$PATH:$Android_home/platform-tools
source .bash_profile
Обновлять: Чтобы еще больше изолировать проблему, я закомментировал все в bash_profile, кроме одного, Java:
export PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME=/usr/libexec/java_home
export JAVA_HOME=/usr/libexec/java_home -v 1.8
Теперь беги echo $PATH
Результат: /Library/Java/JavaVirtualMachines/jdk1.8.0_181.jdk/Contents/Home/bin:/
снова и снова выигрыш
другой пример: Я закомментировал все в bash_profile, кроме одного:
export PATH=$PATH:/bin
сохранить > закрыть терминал > снова открыть > проверить изменение с помощью
echo $PATH
все, что показывает терминал, это повторение/цикл
еще одно наблюдение
В самом начале, когда я открываю терминал, что-то работает в фоновом режиме, что мешает мне что-то вводить в терминал. Мне нужно нажать, control + c
чтобы остановить его. Не удалось выяснить, что это за процесс.
Возможно ли, что .bash_profile
или etc/paths
находится в конфликте с
.profile
?
Есть .profile
только один ПУТЬ:
( export PATH=~/.npm-global/bin:$PATH
)
решение1
Наиболее вероятная причина в том, что у вас возникли проблемы с экспортом в вашем .bashrc или .bash_profile, например, export PATH=PATH/bin
который должен быть export PATH=$PATH:/bin
.
Чтобы изменить это вне Терминала, вы можете использовать Command+Shift+. для переключения скрытых файлов в Finder, чтобы иметь возможность редактировать с помощью TextEdit или другого редактора.
решение2
Я изменил в .bash_profile
export PATH=$PATH:/bin
к
export PATH="/usr/local/bin:$PATH"
и система возвращается в нормальное состояние.
решение3
Если я правильно понял, у вас в файле есть следующая строка ~/.bash_profile
:
source .bash_profile
Команда source
загрузит и обработает содержимое указанного файла, что означает, что при запуске терминала он выполнит команду sources ~/.bash_profile
, которая затем sources ~/.bash_profile
, которая затем sources ~/.bash_profile
и т. д.
Удаление этой строки, вероятно, решит ваши проблемы.
решение4
экспорт ПУТЬ="/usr/local/bin"
решить вашу проблему