web-dev-qa-db-fra.com

sudo: port: commande introuvable

J'ai récemment désinstallé Xcode 4.2 et réinstallé Xcode 4.3.1. Les outils de ligne de commande sont installés. J'ai ensuite installé MacPort en utilisant des images de disque "dmg" pour Lion de macports.org. Depuis, j'obtenais Sudo: port: command not found après chaque utilisation du port, j’ai suivi this et this post pour créer un .bash_profile fichier (n’était pas présent auparavant), puis y mettre ce qui suit, mais en vain.

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

Suivant ce post

➜  ~ 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"

Renommer .bash_profile à .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 contenu:

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

Assurez-vous de supprimer ~/.bash_profile et ~/.bash_login pour que .profile puisse fonctionner. Cela a fonctionné pour moi http://johnnywey.wordpress.com/2008/04/17/fixing-bash-profile-in-os-x/

20
John Barraco

Tout d'abord, vous devrez peut-être modifier le chemin PATH de votre système

Sudo vi /etc/paths

Ajoutez 2 lignes suivantes:

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

Redémarrez votre terminal

125
Isis

Vous pouvez essayer de créer votre fichier de profil pour mettre à jour votre environnement:

$ source ~/.profile
18
Awalias

J'ai trouvé la réponse dans le site officiel

$ vi ~/.profile

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

Et maintenant, redémarrez le terminal ou tapez source !$ (équivalent à source ~/.profile)

16
Nuno Costa

si vous utilisez zsh.please, ajoutez une chaîne de caractères courante à la ligne 'export PATH = "..."' du fichier '~/.zshrc'

:/opt/local/bin:/opt/local/sbin
15
Michael

Sur mon ordinateur, le port est dans /opt/local/bin/port _ - essayez de taper cela dans un terminal.

8
James Holwell

Si vous venez d'installer Macports, lancez et cela devrait fonctionner

source ~/.bash_profile
5
Ayoub

Qu'est-ce que vous obtenez de courir which port comme votre compte d'utilisateur habituel? Essayez-le depuis un terminal fraîchement ouvert. Réessayez après avoir renommé .bash_profile à .profile. Pouvez-vous exécuter port en tant qu'utilisateur ordinaire, même sans argument?

1
mkb

Vous pouvez tout simplement ajouter la ligne:

source ~/.profile

Au bas de votre fichier rc Shell - si vous utilisez bash, ce serait votre ~/.bash_profile si vous utilisez zsh, ce serait votre ~/.zshrc.

Puis ouvrez une nouvelle fenêtre de terminal et tapez ports -v, vous devriez voir une sortie ressemblant à ceci:

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

J'espère que ça t'as aidé.

1
shabbirh

il se peut que votre machine soit gérée par Puppet ou une autre. La modification du fichier racine .profile ou .bash_rc ne fonctionne pas du tout. Par conséquent, vous pouvez ajouter les éléments suivants à votre fichier .profile. Après cela, vous pouvez utiliser "mydo" au lieu de "Sudo". Cela fonctionne parfaitement pour moi.

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

Visitez ma page: http://www.danielkoitzsch.de/blog/2016/03/16/Sudo-returns-xyz-command-not-found/

0
danielk