4

我想使用 Leiningen 部署一个 Clojure 库。我做了以下事情:

  • 安装 gpg
  • 创建了一个 gpg 密钥对
  • 将我的 Clojars 凭证加密到 ~/.lein/credentials.clj.gpg
  • 安装 gpg-agent
  • 安装钥匙串

当我调用“lein deploy clojars”时,我得到以下输出:

WARNING: please set :license in project.clj.
Could not decrypt credentials from ~/.lein/credentials.clj.gpg
gpg: can't query passphrase in batch mode
gpg: decryption failed: secret key not available

See `lein help gpg` for how to install gpg.
No credentials found for clojars
See `lein help deploy` for how to configure credentials.
Username:

然后我卸载了 gpg,安装了 gpg2 并创建了一个从 gpg 到 gpg2 的符号链接。当我现在调用“lein deploy clojars”时,我得到:

WARNING: please set :license in project.clj.
^CCould not decrypt credentials from ~/.lein/credentials.clj.gpg
pinentry-curses: no LC_CTYPE known - assuming UTF-8
pinentry-curses: no LC_CTYPE known - assuming UTF-8
pinentry-curses: no LC_CTYPE known - assuming UTF-8
pinentry-curses: no LC_CTYPE known - assuming UTF-8

gpg: signal Interrupt caught ... exiting

See `lein help gpg` for how to install gpg.
No credentials found for clojars
See `lein help deploy` for how to configure credentials.
Username: 

警告后,命令等待输入,我只能通过按 ctrl-c 退出。

谁能告诉我为了部署图书馆我需要做什么?

4

1 回答 1

2

lein使用lein-clojar 插件使部署clojars尽可能简单。

首先,创建~/.lein/profiles.clj具有以下内容的文件:

{:user {:plugins [[lein-clojars "0.9.1"]]}}

不幸的是,您不能将密码密钥与lein-clojar插件一起使用,但您可以使用命令生成新ssh密钥。lein keygen它会将新ssh密钥放入~/.leiningen/中,因此仅供lein.

生成密钥后,lein会将其公共部分打印到控制台。您应该将其复制到您的clojars帐户。

最后,您可以使用lein push.

当然,您可以在不使用此插件的情况下使用lein deploy clojars和 anysshpgpkey 来部署您的项目。可能,可以将路径短语键与 一起使用lein deploy clojars,但我不确定。

于 2013-05-31T16:08:17.750 回答