groovysh: как решить «нет jansi в java.library.path» в Mac M1?
Я запускаю (groovy 4.0.8, установленныйsdkman
) на моем Mac M1, и он выдает предупреждение:
ansi будет отключен, так как при установке ansi произошла ошибка: Не удалось загрузить библиотеку. Причины: [нет jansi в java.library.path: .... пробовал: '/private/var/folders/ck/2qcbfbs56075y7vsv6_yg6sr0000gn/T/libjansi-64-7439658586757684124.jnilib' (толстый файл, но отсутствует совместимая архитектура (есть 'x86_64,i386', нужен 'arm64')
Кажется, что он загружает библиотеку, отличную от arm64. Как это решить?
Обновление: я считаю, что это работает, если я укажу в пути к классам:
groovysh -cp /Users/xxx/.sdkman/candidates/groovy/4.0.8/lib/jansi-2.4.0.jar
Кажется, что путь к классам не содержит пакетов вlib
.
Я провел те же шаги по установке на моем Manjaro, иgroovysh
в одиночку хорошо работает без указанияjansi-2.4.0.jar
. Итак, чего мне не хватало на Mac M1? Это баг groovysh или jansi?
1 ответ
Чтобы включить поддержку цвета ANSI в groovysh Groovy на Mac с архитектурой ARM, вам необходимо добавитьexport CLASSPATH=$CLASSPATH:~/.sdkman/candidates/groovy/current/lib/jansi-x.x.x.jar
к~/.zshrc
или~/.bashrc
(в зависимости от вашей оболочки). Как только вы закончите редактирование файла, запуститеsource ~/.zshrc
илиsource ~/.bashrc
чтобы применить изменение.