sudo:port:command not found

我最近卸载了Xcode 4.2并重新安装了Xcode 4.3.1。 命令行工具已安装。 然后,我使用来自macports.org的Lion的“dmg”磁盘映像安装MacPort。 因为我每次使用端口后都得到了sudo: port: command not found ,所以我跟着这个和这个post创build了一个.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重命名为.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 

确保删除〜/ .bash_profile和〜/ .bash_login,以便.profile可以工作。 这工作对我来说http://johnnywey.wordpress.com/2008/04/17/fixing-bash-profile-in-os-x/

首先,您可能需要编辑您的系统的path

 sudo vi /etc/paths 

添加2条以下行:

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

重新启动您的terminal

您可以尝试获取您的configuration文件来更新您的环境:

 $ source ~/.profile 

我在官方网站find了答案

 $ vi ~/.profile # add the following line export PATH=/opt/local/bin:/opt/local/sbin:$PATH 

现在重启terminal或键入source !$ (相当于source ~/.profile

在我的机器上,端口位于/opt/local/bin/port – 尝试单独在terminal上键入。

如果您使用zsh.please将stream式string添加到文件'〜/ .zshrc'中的'export PATH =“…”'行

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

如果你刚才安装的macports只是运行,它应该工作

 source ~/.bash_profile 

您将which port作为常规用户帐户运行得到什么? 尝试从新开的terminal。 将.bash_profile重命名为.profile后再试一次。 你可以运行port作为一个普通的用户,即使没有参数?

你可以很简单地添加行:

 source ~/.profile 

到你的shell rc文件的底部 – 如果你使用的是bash,那么它将是你的〜/ .bash_profile,如果你使用的是zsh,那将是你的〜/ .zshrc

然后打开一个新的terminal窗口并inputports -v你应该看到如下所示的输出:

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

希望有所帮助。

有可能是你的机器由Puppetpipe理的情况。 然后更改根.profile或.bash_rc文件根本不起作用。 因此,您可以将以下内容添加到.profile文件中。 之后,您可以使用“mydo”而不是“sudo”。 这对我来说是完美的。

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

访问我的页面: http : //www.danielkoitzsch.de/blog/2016/03/16/sudo-returns-xyz-command-not-found/