sudo:porta:comando não encontrado
-
13-12-2019 - |
Pergunta
Recentemente desinstalei o Xcode 4.2 e reinstalei o Xcode 4.3.1.As ferramentas de linha de comando estão instaladas.Em seguida, instalei o MacPort usando imagens de disco “dmg” para Lion em macports.org.Desde então, eu estava ficando sudo: port: command not found
depois de cada uso do porto, segui esse e esta postagem para criar um .bash_profile
arquivo (não estava presente anteriormente) e, em seguida, coloquei o seguinte, mas sem sucesso.
export PATH=$PATH:/opt/local/bin
export MANPATH=$MANPATH:/opt/local/share/man
export INFOPATH=$INFOPATH:/opt/local/share/info
Seguindo esta postagem
➜ ~ 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"
Renomeando .bash_profile
para .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
contente:
export PATH=$PATH:/opt/local/bin
export MANPATH=$MANPATH:/opt/local/share/man
export INFOPATH=$INFOPATH:/opt/local/share/info
Solução
Certifique-se de excluir ~/.bash_profile e ~/.bash_login para que .profile possa funcionar.Isso funcionou para mim http://johnnywey.wordpress.com/2008/04/17/fixing-bash-profile-in-os-x/
Outras dicas
Primeiro, pode ser necessário editar o PATH do seu sistema
sudo vi /etc/paths
Adicione 2 linhas a seguir:
/opt/local/bin
/opt/local/sbin
Reinicie seu terminal
Você poderia tentar obter seu arquivo de perfil para atualizar seu ambiente:
$ source ~/.profile
Encontrei a resposta em o site oficial
$ vi ~/.profile
# add the following line
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
E agora reinicie o terminal ou digite source !$
(equivalente a source ~/.profile
)
se você usar zsh.por favor, adicione uma string fluida à linha 'export PATH="..."' no arquivo '~/.zshrc'
:/opt/local/bin:/opt/local/sbin
Na minha máquina, a porta está em /opt/local/bin/port
- tente digitar isso sozinho em um terminal.
Se você acabou de instalar o Macports, acabou de correr e deve funcionar
source ~/.bash_profile
O que você ganha correndo which port
como sua conta de usuário normal?Experimente em um terminal recém-aberto.Tente novamente após renomear .bash_profile
para .profile
.Você pode correr port
como um usuário normal, mesmo sem argumentos?
Você pode simplesmente adicionar a linha:
source ~/.profile
Na parte inferior do seu arquivo shell rc - se você estiver usando o bash, então seria o seu ~/.bash_profile se você estiver usando o zsh, seria o seu ~/.zshrc
Em seguida, abra uma nova janela do Terminal e digite ports -v. Você verá uma saída semelhante a esta:
~ [ port -v ] 12:12 pm
MacPorts 2.1.3
Entering interactive mode... ("help" for help, "quit" to quit)
[Users/sh] > quit
Goodbye
Espero que ajude.
pode haver uma situação em que sua máquina seja gerenciada pelo Puppet ou algo assim.Então, alterar o arquivo root .profile ou .bash_rc não funciona.Portanto, você pode adicionar o seguinte ao seu arquivo .profile.Depois disso você pode usar “mydo” em vez de “sudo”.Funciona perfeitamente para mim.
function mydo() {
echo Executing sudo with: "$1" "${@:2}"
sudo $(which $1) "${@:2}"
}
Visite minha página: http://www.danielkoitzsch.de/blog/2016/03/16/sudo-returns-xyz-command-not-found/