Встановлення Factor локально

Дізнаймося, як встановити Factor локально, щоб розвʼязувати вправи Exercism на власному компʼютері


У треку Factor використовується Factor 0.101. Раніші версії не підтримуються.

Можна встановити стабільну чи нічну збірку або зібрати з вихідного коду.

Перевірмо встановлення, запустивши factor -e='vm-version print'. Ця команда має вивести 0.101 або вищу версію.


Стабільна збірка

https://factorcode.org#stable-release надає стабільні бінарники в розділі «Stable release».


Нічна збірка

https://factorcode.org#development-release надає нічні бінарники в розділі «Development release». Ці бінарники збираються з git, але показуються лише ті збірки, які проходять перевірку.


Збірка з вихідного коду

Якщо нам потрібне найсвіжіше і навіть нічна збірка для нас застара, знадобиться сучасний компілятор C++ (GCC >=4.8 або Clang >=3.5), make і curl.

Коли ці нехитрі вимоги виконано, можна:

  1. Завантажмо скрипт оболонки build: тут для Unix-подібних систем / оболонок POSIX або тут для Windows. Покладімо його в каталог, у який має бути встановлено Factor. Буде створено каталог factor з кодовою базою.

  2. Запустімо його командою ./build.sh install або .\build.cmd install у Windows. Це клонує git-репозиторій Factor, збирає його й завантажує образ віртуальної машини Factor з https://factorcode.org. Цей процес може тривати від 2 до 20 хвилин, залежно від швидкості зʼєднання та тактової частоти процесора.

  3. Тепер можна запустити бінарний файл factor або factor.exe, згенерований у підкаталозі factor. Спробуймо factor --help, щоб отримати довідку. Також можна отримати доступ до документації з командного рядка або натиснувши F1 у GUI Listener, що відкриє браузер довідки.

  4. Надалі використовуймо build.sh або (build.cmd у Windows) у підкаталозі factor, щоб отримати зміни з git і перезібрати на місці, а також завантажити новий образ віртуальної машини, якщо потрібно.

Тепер структура файлів може мати такий вигляд:

.
├── build.sh                   <- delete if you like
└── factor
    ├── basis
    ├── boot.unix-x86.64.image
    ├── build.cmd              <- use these from now on
    ├── build.sh               <-
    ├── core
    ├── extra
    ├── factor
    ├── Factor.app
    ├── factor.image
    ├── GNUmakefile
    ├── libfactor.a
    ├── libfactor-ffi-test.so
    ├── LICENSE.txt
    ├── misc
    ├── Nmakefile
    ├── README.md
    ├── unmaintained
    ├── vm
    └── work

Скрипт build верхнього рівня більше не потрібен, адже надалі слід використовувати завантажений.


Ручна збірка з вихідного коду (не рекомендовано)

Клонуймо репозиторій і використаймо make у цьому каталозі.

Якщо make завершується помилкою про відсутню ціль, спробуймо make factor або, якщо ми вміємо читати Makefile, знайдімо ціль make для нашої платформи в GNUmakefile.

Якщо це не спрацює, створімо issue на factor/factor із текстом помилки. Привітні розробники радо допоможуть.