Getting Anaconda and Flutter to work with “Oh My ZSH” on Mac OS X

Grassroot Engineer
2 min readJan 8, 2021

--

หลังจากที่ใช้ Terminal หรือ Iterm แบบ plainๆ มานานจนลายตากันแล้ว บางครั้งชีวิตก็ต้องมีสีสันกันบ้าง สิ่งที่จะเข้ามาเติมเต็มได้ก็คือ แถ่น แทน แท๊น…

https://ohmyz.sh/

It’s Oh My ZSH …. มันคือ โอ้ว มาย ก๊อดดดดด

พอเห็นแบบนี้แล้วชีวิตมีสีสันขึ้นเยอะ ไม่ตาลายอีกแล้ว สำหรับขั้นตอนการติดตั้ง follow ตาม Link นี้ได้เลยนะคับ

แต่ๆๆ คำแนะนำคับให้เราทำการ backup ไฟล์ ~/.zshrc หรือ ~/.bash_profile ไว้ก่อนนะคับกันพลาด แต่หลังจาก install+ configure เสร็จแล้วมีปัญหาใช้งาน Anaconda หรือ Flutter หรือ คำสั่ง which ไม่ได้ ให้ลอง recheck ตามนี้นะคับ

  1. เปิดไฟล์ ~/.zshrc ขึ้นมาด้วย editer อะไรก็ได้
# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"

ENABLE_CORRECTION = “true” ไม่ต้องเอา comment ออกนะคับ ไม่งั้นคำสั่ง which จะใช้ไม่ได้ในทันที เช่น

จะต้องพิมพ์ “n” เพิ่มอีกครั้งนึง จึงจะ execute คำสั่ง

ที่เป็นเช่นนี้เพราะ zsh มีการตรวจสอบความถูกต้องของ mechanism ตลอด ฉะนั้นถ้าพิมพ์ command ที่ไม่ถูกต้องตามหลักเขา จะมี warning ลักษณะนี้

n = no (ไม่ถูกต้องนะที่เขาแนะนำมา ความหมายคือ ให้รันตามที่เราพิมพ์เลย)
y = yes (ใช่ ที่เขาแนะนำมาถูกต้องแล้ว ก้อให้รัน .flutter แบบที่ zsh แนะนำเลย)
a = abort (ไม่ต้องรันอะไรเลย)
e = edit (ขอแก้ไขคำสั่งใหม่)

2. สำหรับ Flutter เช่นเดียวกันถ้าใช้งานไม่ได้ เป็นเพราะ setting ที่เรา export เอาไว้ใน .zshrc ได้ถูกแทนที่ไปหมดแล้ว ฉะนั้นต้อง manual เข้ามาใส่ใหม่นะ

################## Flutter zone ########################export ANDROID_HOME=/Users/atthana/Library/Android/sdkexport PATH=$PATH:$ANDROID_HOME/tools/binexport PATH=$PATH:$ANDROID_HOME/platform-toolsexport PATH=$PATH:$ANDROID_HOME/emulatorexport PATH=$PATH:$ANDROID_HOME/toolsexport PATH=$PATH:/Users/atthana/development/flutter/bin########################################################

โดยจะต้องเช็ค path ตามจริงที่อยุ่ในเครื่องเรานะคับ เช่น path ของ flutter ให้เช็คด้วยคำสั่ง “pwd” หรือ path ของ ANDROID_HOME ให้เข้าไปเช็คที่

path ของ flutter กรณีเช็คด้วย “which”
path ของ ANDROID_HOME

3. สำหรับ Anaconda จะต้องมี setting ลักษณะนี้อยู่ใน .zshrc นะคับ ถ้าไม่มีก็เพิ่มเข้าไป เช่นเดียวกัน PATH ต้องถูกต้องนะคับ

################## Anaconda zone ########################
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/Users/atthana/opt/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
else
if [ -f "/Users/atthana/opt/anaconda3/etc/profile.d/conda.sh" ]; then
. "/Users/atthana/opt/anaconda3/etc/profile.d/conda.sh"
else
export PATH="/Users/atthana/opt/anaconda3/bin:$PATH"
fi
fi
unset __conda_setup
# <<< conda initialize <<<
export PATH="/Users/atthana/opt/anaconda3/bin:$PATH"
########################################################
PATH must be correct one.

4. เมื่อเขียน command หมดแล้ว ให้เปิด tab ใหม่ที่ terminal หรือ iterm ขึ้นมา (หรือ พิมพ์ source ~/.zshrc เพื่อ refresh tab นะคับ)

source ~/.zshrc
เรียกใช้งานได้หมดแล้ว ทั้ง flutter, conda และ jupyter notebook

แล้วพบกันใหม่ครับ

--

--

Grassroot Engineer
Grassroot Engineer

Written by Grassroot Engineer

ATM engineer who is interested in CODING and believe in EFFORT. — https://grassrootengineer.com

No responses yet