На этой странице описано, как обновить Elide, закрепить версию для проекта и что изменить при переходе на 1.6.
Обновление установленного бинарного файла
elide upgrade --check
elide upgrade
elide upgrade --channel release| Способ установки | Чем обновлять |
|---|---|
| Скрипт установки | elide upgrade; установленный компонент Python сохраняется |
| Homebrew, apt, RPM, MSI | Менеджером пакетов; см. Пакеты и установщики |
| GitHub Actions | Входным параметром version в setup-elide; см. Непрерывная интеграция |
--channel принимает release или nightly; по умолчанию используется канал, из которого получена запущенная сборка.
--force переустанавливает текущую версию.
Закрепление версии для проекта
elide use 1.5.4Elide 1.5.4 is already installed at /home/you/.local/share/elide/versions/1.5.4/bin/elideelide use записывает версию в .elideversion и устанавливает её в ELIDE_HOME (по умолчанию
~/.local/share/elide). После этого каждая команда elide в этом каталоге запускает закреплённую версию и при
необходимости скачивает её при первом использовании:
elide infoElide - putting the java back in javascript
Version: 1.5.4+20260921.44ff130047
Mode: release| Команда | Действие |
|---|---|
elide use 1.5.4 | Закрепить выпуск и установить его. |
elide use --channel nightly 20260921 | Закрепить nightly-сборку за эту дату. |
elide use 1. | Закрепить nightly-сборку по полному тегу. |
elide use --no-install 1. | Только записать .elideversion. |
elide --use-version 1. | Однократно запустить установленную версию без закрепления. |
elide --ignore-version run app. | Запустить бинарный файл из PATH, игнорируя .elideversion. |
elide --version всегда показывает бинарный файл из PATH; elide info показывает версию, которая фактически
запускается. Теги nightly имеют вид <version>+<YYYYMMDD>, например 1.5.4+20260921; список есть на
GitHub Releases.
Чтобы отклонять версии вне диапазона, а не переключаться на одну из них, задайте toolchain.engines в elide.pkl:
toolchain { engines { ["elide"] = ">=1.6.0" } }Тогда elide build на более старом бинарном файле останавливается с ошибкой
Current version of Elide ('1.5.4') does not satisfy project requirements ('>=1.6.0'). См.
Инструментарий.
Закрепление версии в CI
Закрепите версию на шаге установки и закоммитьте .elideversion, чтобы локальные запуски совпадали:
- uses: elide-dev/setup-elide@v4.2.0
with:
version: 1.6.0
channel: releaseЛюбой установленный Elide скачивает и запускает версию из закоммиченного .elideversion, поэтому версия в рабочем
процессе и файл должны совпадать. Для nightly-сборки закрепляйте полный тег с датой.
Переход с 1.5 на 1.6
Каждая строка — переименование или удаление из списка изменений 1.6.0 с ошибкой, которую 1.6 выводит при старом использовании:
| 1.5 | 1.6 | Старое использование в 1.6 |
|---|---|---|
elide manifest | elide project export | elide manifest: removed; use `elide project export` instead (код выхода 2) |
testing { coverage { … } } в elide.pkl | Блок coverage { … } верхнего уровня | Cannot find property `coverage` in object of type `elide. |
Канал выпуска preview | release или nightly | invalid value 'preview' for '--channel' (код выхода 2) |
| Python в каждой установке | elide setup python или --with-python в скрипте установки | Python support is not installed. Run 'elide setup python' to add it. |
| JavaScript и Python используют общий контекст | --interop для программ, которые вызывают код другого языка | Cannot import 'mod. |
Репозитории Maven по http:// | URL с https://; обычный HTTP принимается только на loopback | Maven repository 'plain' uses plain HTTP: http:/ |
Другие изменения 1.6, которые могут изменить результат без ошибки:
- Java компилируется с
--releaseподjvm.targetили Java 21. JavadocJar, исходники которого включают Kotlin, генерирует Dokka, и она документирует также код на Kotlin; задайте для негоgenerator = "javadoc", чтобы сохранить выводjavadocпрежних выпусков. См. Сборка JAR.elide runиelide testзавершаются с собственным кодом выхода программы.elide testпрекращает поиск на вложенном проекте; чтобы запустить его, укажите его путь.- Наборы исходников ищутся в
src/<set>/<language>, затем вsrc/<set>, затем в плоскихsrcилиtest; см. Наборы исходников.
Патч-выпуски внутри 1.6 только добавляют свойства elide.pkl. Чтобы держать манифест на схеме 1.6.0 при запуске более
нового Elide, расширяйте опубликованную схему; см. Справочник elide.pkl.