2014-10-28 16 views
7

Nie mogę pobrać biblioteki, aby pobrać bibliotekę pamięci typu data-pro-pro. Mam następującą konfigurację:lein zainstaluj bibliotekę danych w pamięci podręcznej na komputerze Mac:

~/.lein/credentials.clj.gpg 

{#"my\.datomic\.com" {:username "..." 
         :password "..."}} 

a projekt

(defproject datomic-example "0.1.0-SNAPSHOT" 

    :repositories {"my.datomic.com" {:url "https://my.datomic.com/repo" 
            :creds :gpg}} 
    :dependencies [[org.clojure/clojure "1.6.0"] 
       [com.datomic/datomic-pro "0.9.4956"]]) 

zainstalować GPG poprzez brew install gpg, następnie bieg lein deps daje mi następujący błąd:

Could not decrypt credentials from /Users/.../.lein/credentials.clj.gpg 
gpg: no valid OpenPGP data found. 
gpg: decrypt_message failed: eof 

See `lein help gpg` for how to install gpg. 
(Could not transfer artifact com.datomic:datomic-pro:pom:0.9.4956 from/to my.datomic.com (https://my.datomic.com/repo): Not authorized , ReasonPhrase:Unauthorized.) 
This could be due to a typo in :dependencies or network issues. 
If you are behind a proxy, try setting the 'http_proxy' environment variable. 

UWAGA: Stworzyłem pom.xml/settings.xml zgodnie z opisem na stronie głównej i działało natychmiast z maven. Wiem również, że mogę zainstalować bibliotekę peer bezpośrednio od datomic/bin/maven-install, ale wolałbym zwykłą instalację leiningen.

Odpowiedz

11

Miałem też z tym sporo problemów. W zależności od systemu operacyjnego, który jest uruchomiony, jest różny. Jedną z rzeczy, która zadziałała dla mnie, było używanie env vars zamiast trasy gpg.

Dodaj do tego środowiska vars (plik .bashrc jest najprostszy na unixy systemów operacyjnych)

export MY_DATOMIC_USERNAME="[email protected]" 
export MY_DATOMIC_PASSWORD="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" 

Odśwież bash i sprawdzić, czy są tam:

$ echo $MY_DATOMIC_USERNAME 
[email protected] 

Następnie dodać do Twojego project.clj file:

:repositories [["my.datomic.com" {:url "https://my.datomic.com/repo" 
         :username [:env/my_datomic_username] 
         :password [:env/my_datomic_password]}]] 

I oczywiście dodaj dowolną wersję do swojego dep Endencies eg:

[com.datomic/datomic-pro "0.9.4815.12"] 

Po lein deps powinieneś mieć załadowane biblioteki, których potrzebujesz.

Mam nadzieję, że to pomoże.

+1

Wypróbowałem to i nadal otrzymuję to: "Nie mogłem przeniesienie artefaktu com.datomic: datomic-pro: pom: 0.9.5206 z/na my.datomic.com (https://my.datomic.com/repo): Niedozwolone, ReasonPhrase: Nieautoryzowane. Może to być spowodowane literówką w: zależnościach lub problemach z siecią. Jeśli jesteś za serwerem proxy, spróbuj ustawić zmienną środowiskową "http_proxy". " – letronje

+0

@letronje czy kiedykolwiek to rozgryzłeś? Dostaję to samo działa na włóczędzy – Kendall

4

Znalazłem to: https://github.com/technomancy/leiningen/blob/master/doc/DEPLOY.md#gpg

Gdzie utworzyć plik ~/.lein/credentials.clj z poświadczeniami:

{#"my\.datomic\.com" {:username "USERNAME" 
         :password "PASSWORD"}} 

A potem szyfruje je z GPG:

$ gpg --default-recipient-self -e ~/.lein/credentials.clj > ~/.lein/credentials.clj.gpg 

pracował dla mnie, mam nadzieję, to pomaga

+1

Musiałem uruchomić' gpg --gen-key' zanim to będzie działać dla mnie (po 'brew install gpg') – Adam

Powiązane problemy