须藤:港口:找不到命令
-
13-12-2019 - |
题
我最近卸载了 Xcode 4.2 并重新安装了 Xcode 4.3.1。命令行工具已安装。然后,我使用来自 macports.org 的 Lion 的“dmg”磁盘映像安装了 MacPort。从那时起,我就得到了 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
到 .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/
其他提示
首先,您可能需要编辑系统的路径
sudo vi /etc/paths
添加以下 2 行:
/opt/local/bin
/opt/local/sbin
重新启动您的终端
您可以尝试获取您的配置文件来更新您的环境:
$ source ~/.profile
我在中找到了答案 官方网站
$ vi ~/.profile
# add the following line
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
现在重新启动终端或输入 source !$
(相当于 source ~/.profile
)
如果您使用 zsh.please 将流动字符串添加到文件“~/.zshrc”中的“export PATH="...””行
:/opt/local/bin:/opt/local/sbin
在我的机器上,端口位于 /opt/local/bin/port
- 尝试将其单独输入到终端中。
如果您刚刚安装了Macports,它应该可以工作
source ~/.bash_profile
跑步你能得到什么 which port
作为您的常规用户帐户?从新打开的终端尝试一下。重命名后重试 .bash_profile
到 .profile
. 。你能跑吗 port
作为普通用户,即使没有争论?
您可以非常简单地添加以下行:
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
希望有帮助。
可能存在您的机器由 Puppet 等管理的情况。然后更改 root .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/