目标是在端口 443 上运行 daphne。
当我运行以下命令时:
sudo daphne -e ssl:443:privateKey=/etc/ssl/mycerts/apache.key:certKey=/etc/ssl/mycerts/apache.pem myProject.asgi:application
生成以下错误:
sudo:daphne:找不到命令
运行
which sudo
返回 /usr/bin/sudo —— sudo 已安装。
运行
which daphne
返回 /home/pi/.local/bin/daphne -- daphne 已安装。
echo $PATH returns **/home/pi/.local/bin**:/lib/python3.9:/usr/local/sbin:/usr/local/bin:/usr/sbin:**/usr/bin**:/sbin:/bin:/usr/local/games:/usr/games
因此, /usr/bin 和 /home/pi/.local/bin 都在路径上。
我可以在端口 8001 上运行 daphne(无需 sudo),没有任何问题(例如 daphne -b 0.0.0.0 -p 8001 myProject.asgi:application)
如果安装了 sudo、daphne 并且两个位置都在 PATH 上,为什么会出现错误 command not found?
问题是当您以其他用户身份执行命令 sudo 且
daphne
不在该用户的路径上时。尝试一下sudo /home/pi/.local/bin/daphne
。