Ответ 1
Я уверен, что у вас много элементов в PATH. Это общий признак этого сценария.
В вашем терминале запустите:
echo "$PATH"
Если на выходе имеется более 8 или 9 двоеточий, или есть большие каталоги, такие как корневой каталог /
, то это очень хорошо может быть виновником.
В качестве основы для сравнения мой тщательно обработанный PATH
на macOS:
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
И если я запустил which npm
, вывод будет следующим:
/usr/local/bin/npm
Это говорит мне, что мой npm
находится в начале моего PATH
, что важно для производительности, поскольку поиск PATH
слева направо для существования npm
в каждом каталоге.
Вы можете быстро опробовать мой PATH
сверху без каких-либо постоянных последствий, просто выполнив:
OLDPATH="$PATH"
PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
Теперь попробуйте запустить команды, которые были раньше и медленнее, и посмотреть, есть ли разница.
Если вы начинаете видеть ошибки "команда не найдена", попробуйте поэтапно добавить вещи обратно к вашему PATH
или просто запустите:
PATH="$OLDPATH"
В противном случае, если производительность не изменится, значит, это не ваш PATH
. Но если ситуация улучшилась, читайте дальше, чтобы сделать ее постоянной.
Возьмите PATH
, который лучше всего подходит для вас, и поместите его в файл запуска оболочки. Обычно это будет находиться в ~/.bashrc
или ~/.bash_profile
. Попробуйте найти файл запуска, у которого уже есть строка PATH=...
, закомментируйте существующую строку (обязательно добавьте пояснительный комментарий), а затем вставьте аналогичную строку с лучшим значением.