1. ð ã¯ããã«
ããã¹ãéãããšããèšèããšã³ãžãã¢ã®äžçã§ããèããŸãããã
ãpythonãã€ã³ã¹ããŒã«ããã®ã«ã³ãã³ããèŠã€ãããªãïŒã
ãcommand not found ã£ãŠãšã©ãŒãåºãâŠã
ãããã¯ã»ãŒPATHã®åé¡ã§ãããã®èšäºãèªãã°ããããã£ããã©ãã«ãã¹ãããªè§£æ±ºã§ããŸãïŒ
ãã®èšäºãèªãã°ïŒ
- â PATHãšã¯äœããããã
- â
command not foundã®åå ãããã - â ãã¹ãéãæ¹æ³ãããã
- â
.bashrc/.zshrcãžã®è¿œå æ¹æ³ãããã
2. ð€ ããã¹ãéãããšã¯ïŒ
ã³ãã³ããæã€ãšè£ã§äœãèµ·ããŠããã
ã¿ãŒããã«ã§ python ãšæã£ããšããã·ã§ã«ã¯æ¬¡ã®ããšãããŠããŸãã
python ãšå
¥å
â
ãpythonãšããå®è¡ãã¡ã€ã«ã¯ã©ãã«ããïŒã
â
PATHç°å¢å€æ°ã«ç»é²ããããã£ã¬ã¯ããªãé çªã«æ¢ã
â
èŠã€ãã£ãïŒâ å®è¡ãã â
èŠã€ãããªã â command not found â
éµäŸ¿é éã§äŸãããšð®
ã³ãã³ãå = å®åïŒäŸïŒãç°äžãããïŒ
PATH = äœæé²ïŒã©ã®çºå
ãæ¢ããã®ãªã¹ãïŒ
ã·ã§ã«ã¯äœæé²ïŒPATHïŒã«èŒã£ãŠããçºå
ãé çªã«æ¢ããŠ
ãç°äžãããïŒã³ãã³ãïŒãèŠã€ãããå±ããïŒå®è¡ããïŒ
äœæé²ã«èŒã£ãŠããªãå Žæã«ããç°äžããã¯èŠã€ããããªãïŒ
â command not found ð¢
3. ð PATHã®äžèº«ãèŠãŠã¿ãã
# PATHã®äžèº«ã衚瀺
echo $PATH
# /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/home/alice/.local/bin
# â ã³ãã³ïŒ:ïŒã§åºåããããã£ã¬ã¯ããªã®ãªã¹ã
èŠãããæŽçãããšïŒ
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
/home/alice/.local/bin
ã·ã§ã«ã¯ãã®ãªã¹ããäžããé çªã«æ¢ããŸããæåã«èŠã€ãã£ããã®ãå®è¡ãããŸãã
ããç»å ŽããPATHã®ãã£ã¬ã¯ããª
| ãã£ã¬ã¯ã㪠| æ ŒçŽãããŠãããã® |
|---|---|
/bin |
lsã»cdã»cp ãªã©åºæ¬ã³ãã³ã |
/usr/bin |
äžè¬ãŠãŒã¶ãŒåãã³ãã³ã |
/usr/local/bin |
èªåã§ã€ã³ã¹ããŒã«ããã³ãã³ã |
/sbin |
ã·ã¹ãã 管çã³ãã³ãïŒrootåãïŒ |
~/.local/bin |
ãŠãŒã¶ãŒå人ã®ã³ãã³ã |
4. ð whichã»typeïŒã³ãã³ãã®å Žæã確èªãã
whichïŒã³ãã³ãã®ãã¹ã衚瀺
# pythonã³ãã³ããã©ãã«ããã確èª
which python
# /usr/bin/python
which git
# /usr/bin/git
which node
# /usr/local/bin/node
# èŠã€ãããªãå Žå
which ååšããªãã³ãã³ã
# ïŒäœã衚瀺ãããªããããšã©ãŒã¡ãã»ãŒãžïŒ
typeïŒã³ãã³ãã®çš®é¡ã確èªã§ãã
# ã³ãã³ãã®çš®é¡ãšå Žæã衚瀺
type python
# python is /usr/bin/python
type ls
# ls is aliased to `ls --color=auto` â ãšã€ãªã¢ã¹ã®å Žå
type cd
# cd is a shell builtin â ã·ã§ã«çµã¿èŸŒã¿ã³ãã³ãã®å Žå
type git
# git is /usr/bin/git
type 㯠which ãã詳ããããšã€ãªã¢ã¹ãã·ã§ã«çµã¿èŸŒã¿ã³ãã³ããèå¥ã§ããŸãã
ã³ãã³ããèŠã€ãããªããšãã®ãããã°æé
# 1ïžâ£ ããããã€ã³ã¹ããŒã«ãããŠããã確èª
which python3
type python3
# 2ïžâ£ ã€ã³ã¹ããŒã«å Žæãæ¢ã
find /usr -name "python3" 2>/dev/null
find /home -name "python3" 2>/dev/null
# 3ïžâ£ PATHã«å«ãŸããŠããã確èª
echo $PATH | tr ':' '\n' # ã³ãã³åºåããæ¹è¡ã«å€æããŠèŠããã
5. â ãã¹ãéãæ¹æ³
äžæçã«ãã¹ãéãïŒçŸåšã®ã»ãã·ã§ã³ã ãïŒ
# PATHã«æ°ãããã£ã¬ã¯ããªã远å
export PATH="/æ°ãããã£ã¬ã¯ããª:$PATH"
# äŸïŒ/usr/local/go/bin ã远å
export PATH="/usr/local/go/bin:$PATH"
# 確èª
echo $PATH
which go # èŠã€ããã¯ãïŒ
# â ïž ã¿ãŒããã«ãéãããšæ¶ããïŒæ°žç¶åããã«ã¯æ¬¡ã®æ¹æ³ã䜿ã
æ°žç¶çã«ãã¹ãéãïŒ.bashrc / .zshrc ã«è¿œèšïŒ
ã¿ãŒããã«ãéããŠãèšå®ãæ®ãããã«ãèšå®ãã¡ã€ã«ã«æžããŸãã
䜿ã£ãŠããã·ã§ã«ã確èªãã
echo $SHELL
# /bin/bash â .bashrc ãç·šé
# /bin/zsh â .zshrc ãç·šé
# ãŸãã¯
echo $0
.bashrcïŒbashã®å ŽåïŒ
# .bashrc ãç·šé
nano ~/.bashrc
# æ«å°Ÿã«è¿œå
export PATH="/usr/local/go/bin:$PATH"
# ä¿åããŠãèšå®ãåæ
source ~/.bashrc
# ãŸãã¯
. ~/.bashrc
.zshrcïŒzshã®å Žåã»æè¿ã®MacæšæºïŒ
# .zshrc ãç·šé
nano ~/.zshrc
# æ«å°Ÿã«è¿œå
export PATH="/usr/local/go/bin:$PATH"
# ä¿åããŠãèšå®ãåæ
source ~/.zshrc
.bashrc ãš .bash_profile ã®éã
.bash_profile â ãã°ã€ã³æã«1åã ãèªã¿èŸŒãŸãã
.bashrc â æ°ããã¿ãŒããã«ãéããã³ã«èªã¿èŸŒãŸãã
ð¡ è¿·ã£ãã .bashrc ã«æžãã°OKïŒ
macOSã®zshãªã .zshrc ã«æžãïŒ
6. ð PATHã®é çªã«æ³šæïŒ
PATHã¯å·Šããé çªã«æ€çŽ¢ãããŸããåãååã®ã³ãã³ããè€æ°ããå Žåãå ã«èŠã€ãã£ããã®ãå®è¡ãããŸãã
# PATHã®äžèº«ïŒã³ãã³ã§åºåãããŠããïŒ
echo $PATH
# /usr/local/bin:/usr/bin:/bin
# â â â
# 1çªç®ã«æ€çŽ¢ 2çªç® 3çªç®
# python ã /usr/local/bin ãš /usr/bin ã®äž¡æ¹ã«ããå Žå
# PATHã¯å·Šããæ€çŽ¢ãããã®ã§âŠ
/usr/local/bin:/usr/bin:/bin
â
ãããå
ã«æ€çŽ¢ â /usr/local/bin/python ãèŠã€ãã â å®è¡ïŒ
/usr/bin/python ã¯æ€çŽ¢ãããªã
èªåã®ãã£ã¬ã¯ããªãåªå ããããå Žå
# $PATH ã®åã«è¿œå â èªåã®ãã£ã¬ã¯ããªãåªå
ïŒå·Šã«æ¥ãã®ã§å
ã«æ€çŽ¢ïŒ
export PATH="/èªåã®ãã£ã¬ã¯ããª:$PATH"
# $PATH ã®åŸã«è¿œå â ã·ã¹ãã ã®ã³ãã³ããåªå
ïŒå³ã«æ¥ãã®ã§åŸã«æ€çŽ¢ïŒ
export PATH="$PATH:/èªåã®ãã£ã¬ã¯ããª"
ð¡ ã€ã¡ãŒãž
export PATH="/èªåã®ãã£ã¬ã¯ããª:$PATH" ãšãããšâŠ
/èªåã®ãã£ã¬ã¯ããª:/usr/local/bin:/usr/bin:/bin
â
äžçªå·Š = äžçªæåã«æ€çŽ¢ãããïŒ
7. ð¡ ãããããã©ãã«ãšè§£æ±ºæ³
â command not found ãåºã
# çç¶
python
# bash: python: command not found
# 解決æé
# 1ïžâ£ ã€ã³ã¹ããŒã«ãããŠããã確èª
which python3 # python3 ã¯ããããïŒ
python3 --version
# 2ïžâ£ ã€ã³ã¹ããŒã«å Žæã確èª
find / -name "python*" -type f 2>/dev/null | head -10
# 3ïžâ£ PATHã«è¿œå
export PATH="/èŠã€ãã£ããã£ã¬ã¯ããª:$PATH"
â¡ ã€ã³ã¹ããŒã«ããã®ã«ã³ãã³ãã䜿ããªã
# çç¶ïŒpip install ã§ããŒã«ãã€ã³ã¹ããŒã«ããã䜿ããªã
pip install black
black --version
# bash: black: command not found
# åå ïŒã€ã³ã¹ããŒã«å
ãPATHã«å«ãŸããŠããªã
# ããããã€ã³ã¹ããŒã«å
~/.local/bin # Linuxã®pip
~/Library/Python/3.x/bin # macOSã®pip
# 解決ïŒã€ã³ã¹ããŒã«å
ãPATHã«è¿œå
export PATH="$HOME/.local/bin:$PATH"
⢠æå³ããªãããŒãžã§ã³ã®ã³ãã³ããå®è¡ããã
# çç¶ïŒpythonã®ããŒãžã§ã³ãéã
python --version
# Python 2.7.18 â å€ãïŒ
# ã©ãã®pythonã䜿ãããŠããã確èª
which python
# /usr/bin/python â ã·ã¹ãã ã®python2
# 解決ïŒpython3ã®ãã¹ãåªå
ããã
export PATH="/usr/local/python3/bin:$PATH"
# ãŸã㯠python3 ã³ãã³ãã䜿ã
python3 --version
# Python 3.11.x
8. ð ãŸãšãæ©èŠè¡š
PATHã®ç¢ºèªã»æäœ
| ããããããš | ã³ãã³ã | è£è¶³ |
|---|---|---|
| PATHã®äžèº«ãç¢ºèª | echo $PATH |
ã³ãã³åºåãã§è¡šç€ºããã |
| PATHãèŠããã衚瀺 | echo $PATH | tr ':' '\n' |
1è¡1ãã£ã¬ã¯ããªã§è¡šç€º |
| ã³ãã³ãã®å Žæãç¢ºèª | which <ã³ãã³ã> |
ãã¹ã衚瀺 |
| ã³ãã³ãã®çš®é¡ãç¢ºèª | type <ã³ãã³ã> |
ãšã€ãªã¢ã¹ãã©ãããå€å¥ |
| äžæçã«ãã¹ãéã | export PATH="/远å ãã¹:$PATH" |
ã¿ãŒããã«ãéãããšæ¶ãã |
| æ°žç¶çã«ãã¹ãéãïŒbashïŒ |
nano ~/.bashrc ã«è¿œèš |
source ~/.bashrc ã§åæ |
| æ°žç¶çã«ãã¹ãéãïŒzshïŒ |
nano ~/.zshrc ã«è¿œèš |
source ~/.zshrc ã§åæ |
èšå®ãã¡ã€ã«ã®äœ¿ãåã
| ãã¡ã€ã« | èªã¿èŸŒãŸããã¿ã€ãã³ã° | 䜿ãã·ã§ã« |
|---|---|---|
~/.bashrc |
æ°ããã¿ãŒããã«ãéããã³ | bash |
~/.bash_profile |
ãã°ã€ã³æã«1åã ã | bash |
~/.zshrc |
æ°ããã¿ãŒããã«ãéããã³ | zshïŒæè¿ã®MacïŒ |
ãããããã©ãã«ãšè§£æ±ºç
| çç¶ | åå | 解決ç |
|---|---|---|
command not found |
ã³ãã³ããPATHã«å«ãŸããŠããªã |
which ã§å Žæãæ¢ããŠPATHã«è¿œå |
| ã€ã³ã¹ããŒã«ããã®ã«äœ¿ããªã | ã€ã³ã¹ããŒã«å ãPATHã«ãªã |
~/.local/bin ãªã©ãPATHã«è¿œå |
| å€ãããŒãžã§ã³ãå®è¡ããã | æ°ããæ¹ãPATHã®å³åŽã«ãã | æ°ããæ¹ã®ãã¹ãPATHã®å é ã«è¿œå |
9. ð¯ ãŸãšã
| æŠå¿µ | ãã€ã³ã |
|---|---|
| ðºïž PATH | ã³ãã³ããæ¢ããã£ã¬ã¯ããªã®ãªã¹ãïŒ:åºåãïŒ |
| ð which / type | ã³ãã³ããã©ãã«ããã確èªããã³ãã³ã |
| â ãã¹ãéã | export PATH="/æ°ãããã¹:$PATH" |
| ðŸ æ°žç¶å |
.bashrc ãŸã㯠.zshrc ã®æ«å°Ÿã«è¿œèš |
| ð åæ |
source ~/.bashrc ã§å³æåæ |
| â ïž é çª | å·Šãåªå ïŒèªåã®ãã¹ã¯å é ã«è¿œå ããã®ãåºæ¬ |
ããã¹ãéãããšã¯ãã·ã§ã«ãã³ãã³ããæ¢ãå Žæã®ãªã¹ãã«ãæ°ãããã£ã¬ã¯ããªã远å ããããšãã§ãããããçè§£ãããš command not found ãæããªããªããŸãïŒðª
ð¬ 質åãææ³ãããã°ãã³ã¡ã³ãæ¬ã§ãæ°è»œã«ã©ãã!
ð 圹ã«ç«ã£ãããããã&ã¹ããã¯ããé¡ãããŸã!
ð ãããŸã§èªãã§ãã ãã£ãŠãæ¬åœã«ããããšãããããŸãã!
ð ã·ãªãŒãºèšäº
- ã第äžåãåºæ¬æäœ â ãã¡ã€ã«æäœã»æ€çŽ¢ã»ãšã¹ã±ãŒã
- ã第äºåãããŒããã·ã§ã³ã»ãŠãŒã¶ãŒç®¡çã»ããã¹ãåŠç
- ã第äžåãã·ã§ã«ã¹ã¯ãªããå ¥é
- ãçªå€ç·šAãæ£èŠè¡šçŸãšsedã»awkå ¥é
- ãçªå€ç·šBããã¹ãéããšã¯ïŒPATHç°å¢å€æ°ãå®å šè§£èª¬ïŒãã®èšäºïŒ
- ãçªå€ç·šCãsudoã³ãã³ããæ£ããçè§£ãããïŒè¿æ¥å ¬éïŒ