sudo: порт: команда не найдена

недавно я удалил Xcode 4.2 и переустановил Xcode 4.3.1. Установлены средства командной строки. Затем я установил MacPort, используя образы дисков" dmg " для Lion из macports.org - ... С тех пор я получал sudo: port: command not found после каждого использования порта, я следовал этой и этот пост создать .bash_profile файл (ранее не присутствовал), а затем поместил в него следующее, но безрезультатно.

export PATH=$PATH:/opt/local/bin
export MANPATH=$MANPATH:/opt/local/share/man
export INFOPATH=$INFOPATH:/opt/local/share/info 

после этот пост

➜  ~ git:(master) ✗ rvm install 1.8.7 --with-openssl-dir=/opt/local
You requested building with '/usr/bin/gcc-4.2' but it is not in your path.
➜  ~ git:(master) ✗ vi .rvmrc 

rvm_archflags="-arch x86_64"

export CC="/usr/bin/gcc-4.2"

export CFLAGS="-O2 -arch x86_64"
export LDFLAGS="-L/opt/local/lib"
export CPPFLAGS="-I/opt/local/include"

переименовать .bash_profile to .profile

➜  ~ git:(master) ✗ vi .bash_profile
➜  ~ git:(master) ✗ mv .bash_profile .profile
➜  ~ git:(master) ✗ mv .profile              
usage: mv [-f | -i | -n] [-v] source target
       mv [-f | -i | -n] [-v] source ... directory
➜  ~ git:(master) ✗ mv -f .bash_profile .profile
mv: rename .bash_profile to .profile: No such file or directory
➜  ~ git:(master) ✗ port
zsh: correct 'port' to 'pr' [nyae]? n
zsh: command not found: port
➜  ~ git:(master) ✗ which port
port not found
➜  ~ git:(master) ✗ 

.profile содержание:

export PATH=$PATH:/opt/local/bin
export MANPATH=$MANPATH:/opt/local/share/man
export INFOPATH=$INFOPATH:/opt/local/share/info

10 ответов


обязательно удалите ~/.bash_profile и ~/.bash_login все так, что .профиль может работать. Это сработало для меняhttp://johnnywey.wordpress.com/2008/04/17/fixing-bash-profile-in-os-x/


во-первых, вам может потребоваться изменить путь вашей системы

sudo vi /etc/paths

добавить 2 следующие строки:

/opt/local/bin
/opt/local/sbin

перезагрузка терминала


вы можете попробовать источник файла профиля для обновления среды:

$ source ~/.profile

Если вы используете zsh.добавьте текущую строку в строку ' export PATH="..."' в файле '~/.zshrc'

:/opt/local/bin:/opt/local/sbin

Я нашел ответ в официальный сайт

$ vi ~/.profile

# add the following line
export PATH=/opt/local/bin:/opt/local/sbin:$PATH

а теперь перезагрузите терминал или введите source !$ (эквивалент source ~/.profile)


на моей машине, порт находится в /opt/local/bin/port - попробуйте ввести это в терминал самостоятельно.


Если вы только что установили macports просто запустите, и он должен работать

source ~/.bash_profile

что вы получаете от работы which port Как ваша обычная учетная запись пользователя? Попробуй с только что открытого терминала. Повторите попытку после переименования .bash_profile to .profile. Вы можете запустить port как обычный пользователь, даже без аргументов?


Вы можете просто добавить строку:

source ~/.profile

в нижней части вашего rc-файла оболочки-если вы используете bash, то это будет ваш~/.bash_profile если вы используете zsh, это будет ваш~/.zshrc

затем откройте новое окно терминала и введите ports-v вы должны увидеть вывод, который выглядит следующим образом:

~ [ port -v                                                                                                              ] 12:12 pm
MacPorts 2.1.3
Entering interactive mode... ("help" for help, "quit" to quit)
[Users/sh] > quit
Goodbye

надеюсь, что это поможет.


может возникнуть ситуация, когда ваша машина управляется Puppet или около того. Затем меняется корень .профиль или. файл bash_rc не работает вообще. Поэтому вы можете добавить следующее к вашему .файл профиля. После этого вы можете использовать "mydo" вместо "sudo". Это прекрасно работает для меня.

function mydo() {
    echo Executing sudo with: "" "${@:2}"
    sudo $(which ) "${@:2}"
}

посетите мою страницу: http://www.danielkoitzsch.de/blog/2016/03/16/sudo-returns-xyz-command-not-found/