פתרון בעיות בהתקנת Huginn על Ubuntu 20.04: מדריך למפתחים

למדו כיצד להתגבר על מכשולי התקנה נפוצים בעת הגדרת Huginn על Ubuntu 20.04, כולל פתרון בעיות הקשורות ל-runit לפריסה חלקה.

כחובב קוד פתוח ומפתח עצמאי, לאחרונה התמודדתי עם התקנת Huginn על Ubuntu 20.04. בעוד שהתהליך בדרך כלל פשוט, נתקלתי במספר מכשולים שאני מאמין שמפתחים אחרים עשויים להיתקל בהם. במדריך זה, אלווה אתכם בתהליך ההתקנה, תוך הדגשת מכשולים פוטנציאליים ופתרונותיהם.

ההגדרה הראשונית

מדריך ההתקנה הרשמי של Huginn הוא מקיף ועובד היטב ברוב המקרים. עם זאת, אתם עשויים להיתקל בבעיה בעת הרצת:

1
sudo bundle exec rake production:export

המכשול

אם אתם כמוני, תבחינו שהקונסול נראה כתקוע בנקודה זו. מפתה לכפות יציאה (Ctrl+C), אך עשיית זאת מובילה לשגיאה כאשר מנסים להריץ את הפקודה שוב:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
root@localhost:/home/huginn/huginn# sudo bundle exec rake production:export --trace
** Invoke production:export (first_time)
** Invoke production:check (first_time)
** Execute production:check
** Execute production:export
** Execute production:stop
Stopping huginn ...
rake aborted!
'sv stop huginn-web-1' exited with a non-zero return value: warning: huginn-web-1: unable to open supervise/ok: file does not exist
/home/huginn/huginn/lib/tasks/production.rake:85:in `run'
/home/huginn/huginn/lib/tasks/production.rake:77:in `block (2 levels) in run_sv'
/home/huginn/huginn/lib/tasks/production.rake:93:in `call'
/home/huginn/huginn/lib/tasks/production.rake:93:in `with_retries'
/home/huginn/huginn/lib/tasks/production.rake:76:in `block in run_sv'
/home/huginn/huginn/lib/tasks/production.rake:75:in `each'
/home/huginn/huginn/lib/tasks/production.rake:75:in `run_sv'

פתרון התעלומה

לאחר חקירה, גיליתי דיווח על באג שהאיר את הבעיה. הסיבה השורשית? בעיה עם runit, סכמת האתחול המשמשת את Huginn.

הפתרון

הודות לקהילת GitHub, במיוחד somm15, מצאתי פתרון שעובד הן עבור Ubuntu 18.04 והן עבור 20.04. הנה מה שעליכם לעשות:

1
2
3
sudo apt-get install runit-systemd runit-helper
sudo systemctl enable runit
sudo systemctl status runit

פקודות אלה מתקינות את רכיבי ה-runit הנחוצים ומבטיחות שהשירות מופעל ופועל.

סיכום

לאחר יישום תיקון זה, אתם אמורים להיות מסוגלים להריץ את ייצוא סקריפט האתחול בהצלחה ולהמשיך עם מדריך ההתקנה של Huginn ללא בעיות נוספות.

מדוע זה חשוב

כמפתחים ותורמים לקוד פתוח, אנו לעתים קרובות נתקלים באתגרים בלתי צפויים בעת הגדרת מערכות מורכבות. שיתוף פתרונות למכשולים נפוצים אלה לא רק חוסך זמן לאחרים, אלא גם מחזק את קהילת הקוד הפתוח. Huginn הוא כלי רב עוצמה לאוטומציה ועיבוד נתונים, והתגברות על מכשולי התקנה אלה מקרבת אותנו צעד אחד לניצול מלוא הפוטנציאל שלו.

האם נתקלתם בבעיות דומות עם Huginn או התקנות קוד פתוח אחרות? אשמח לשמוע על החוויות והפתרונות שלכם בתגובות למטה. בואו נמשיך לבנות ולשתף ידע בתוך קהילת המפתחים שלנו!

Writing about the internet