**关闭。**这个问题是not about programming or software development。目前不接受答复。
这个问题似乎不是关于a specific programming problem, a software algorithm, or software tools primarily used by programmers的。如果你认为这个问题与another Stack Exchange site的主题有关,你可以留下评论,解释在哪里可以回答这个问题。
昨天关门了。
Improve this question
当我尝试在我的M1 MacBook Pro上运行使用aws-cli的脚本时,我得到了错误:/bin/sh: aws: command not found
。在我的旧MacBook(没有M1)和其他OSX系统上,脚本工作正常。奇怪的是,我肯定安装了aws,pip和python。
为什么我已经安装了软件包,但在脚本中使用时却找不到它?
这里有一些我尝试过的更多信息。
$ aws --v
aws-cli/2.11.15 Python/3.11.3 Darwin/21.4.0 source/arm64 prompt/off
我用Homebrew安装了aws-cli,并在我的。zprofile。
$ brew install awscli
$ echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
$ cat ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
此外,aws-cli安装在Homebrew中,aws
位于此处:
$ which aws
/opt/homebrew/bin/aws
我把/opt/homebrew/bin
添加到我的路径:
$ export PATH=`/opt/homebrew/bin`:$PATH
$ printenv PATH
/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
我的默认shell是ZSH(也安装了Homebrew):
$ echo $SHELL
/opt/homebrew/bin/zsh
有人知道可能出了什么问题吗?
1条答案
按热度按时间gpfsuwkq1#
“
/bin/sh: aws: command not found
“/bin/sh可能不是zsh。在我的Mac上,/bin/sh是bash:您已将
aws
添加到_Z_sh配置文件中的路径。您还应该为~/.bashrc
添加PATH设置,以便非交互式bash shell能够使用它。在
~/.bashrc
中:如果你想让它在所有shell中正确设置,即使你的用户不是调用它的人,最简单的方法可能是将/usr/local/bin/aws符号链接到/opt/homebrew/bin/aws,这是官方安装程序指令让你做的。
为什么是
/bin/sh
?可能是因为shebang行(shell脚本的第一行以#!)指定/bin/sh
作为解释器。