asdf-установка библиотек из командной строки

StackOverflow https://stackoverflow.com/questions/427332

  •  06-07-2019
  •  | 
  •  

Вопрос

Исходя из Perl, я должен сказать, что я предпочитаю cpan Foo :: Bar запускать sbcl, (require: asdf-install) и, наконец, (asdf-install: install: foo-bar) . Есть ли что-нибудь более удобное, чем это?

Это было полезно?

Решение

Существует clbuild:

http://common-lisp.net/project/clbuild/

Но я добавляю это в мой .bashrc:

function asdf_install {
    sbcl --eval "(asdf:operate 'asdf:load-op :asdf-install)" --eval "(asdf-install:install :$1)" --eval "(quit)"
}

function asdf_oos {
    rlwrap sbcl --eval "(asdf:operate 'asdf:$2 :$1)"
}

Другие советы

Common Lisp может быть многословным; однако большинство (все?) реализации поддерживают файл запуска Lisp, который определяет / загружает все, что вам нравится, для персонализации среды разработки.

Кроме того, ознакомьтесь с шариками .

Вы можете проверить http://www.quicklisp.org/ - это быстро и легко установить, затем загрузить, установить и загрузить системы:

(ql:quickload :cxml)

Чтобы перевести на Perl, это похоже на (shell) cpanm cxml и (внутри Perl) используйте cxml все в одном.

Вы также можете искать системы; например, чтобы перечислить все:

(ql:system-apropos "xml")

Обычно вы запускаете процесс lisp и даете ему эти команды напрямую, но если вы предпочитаете выполнять установку и т. д. из оболочки, вы можете определить псевдонимы (как в ответе https://stackoverflow.com/a/427333/17221 ):

function ql_install {
    sbcl --eval "(ql:quickload :$1)" --eval "(quit)"
}

function ql_apropos {
    sbcl --eval "(ql:system-apropos \"$1\")" --eval "(quit)"
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top