Перейти к содержимому

Обновление

Обновление Elide, закрепление версии для проекта или задания CI с помощью elide use и .elideversion, а также переименования и удаления, которые нужно учесть при переходе с 1.5 на 1.6.

На этой странице

На этой странице описано, как обновить 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.4
Elide 1.5.4 is already installed at /home/you/.local/share/elide/versions/1.5.4/bin/elide

elide use записывает версию в .elideversion и устанавливает её в ELIDE_HOME (по умолчанию ~/.local/share/elide). После этого каждая команда elide в этом каталоге запускает закреплённую версию и при необходимости скачивает её при первом использовании:

elide info
Elide - 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.5.4+20260921Закрепить nightly-сборку по полному тегу.
elide use --no-install 1.6.0Только записать .elideversion.
elide --use-version 1.5.4 run app.jsОднократно запустить установленную версию без закрепления.
elide --ignore-version run app.jsЗапустить бинарный файл из 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.51.6Старое использование в 1.6
elide manifestelide project exportelide manifest: removed; use `elide project export` instead (код выхода 2)
testing { coverage { … } } в elide.pklБлок coverage { … } верхнего уровняCannot find property `coverage` in object of type `elide.testing#Testing`.
Канал выпуска previewrelease или nightlyinvalid 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.py': JavaScript entries run without Python. Re-run with --interop to use it.
Репозитории Maven по http://URL с https://; обычный HTTP принимается только на loopbackMaven repository 'plain' uses plain HTTP: http://example.com/maven

Другие изменения 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.

Была ли эта страница полезной?