sudo:port:找不到命令

时间:2012-03-14 00:43:47

标签: terminal osx-lion macports xcode4.3 .bash-profile

我最近卸载了Xcode 4.2并重新安装了Xcode 4.3.1。命令行工具已安装。然后,我使用macports.org中的Lion“dmg”磁盘映像安装了MacPort。自从我在每次使用端口后收到sudo: port: command not found后,我跟着thisthis post创建了一个.bash_profile文件(之前没有出现)然后放入其中以下但无济于事。

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

关注this 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"

.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

10 个答案:

答案 0 :(得分:120)

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

sudo vi /etc/paths

添加以下两行:

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

重新启动终端

答案 1 :(得分:21)

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

答案 2 :(得分:18)

您可以尝试使用个人资料文件来更新您的环境:

$ source ~/.profile

答案 3 :(得分:16)

我在the official website

中找到了答案
$ vi ~/.profile

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

现在重新启动终端或输入source !$(相当于source ~/.profile

答案 4 :(得分:15)

如果你使用zsh.please将流动字符串添加到文件'〜/ .zshrc'中的'export PATH =“...”'行

<option value="">--Please Select--</option>

答案 5 :(得分:8)

在我的机器上,端口位于/opt/local/bin/port - 尝试将其输入终端。

答案 6 :(得分:5)

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

source ~/.bash_profile

答案 7 :(得分:1)

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

答案 8 :(得分:1)

你可以简单地添加一行:

source ~/.profile

在你的shell 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

希望有所帮助。

答案 9 :(得分:0)

可能存在您的机器由Puppet管理的情况。然后更改根.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/