bhauman / rebel-readline

Terminal readline library for Clojure dialects
Eclipse Public License 1.0
680 stars 37 forks source link

trouble running rebel-readline globally with Leiningen #134

Closed indraniel closed 6 years ago

indraniel commented 6 years ago

I was following the README and trying to run rebel-readline globally and encountered this error when trying to invoke the REPL:

$ cd
$ lein trampoline run -m rebel-readline.main
Couldn't find project.clj, which is needed for trampoline

Before I ran the above commands, I updated my ~/.lein/profiles.clj as so:

{:user {:plugins      [[lein-try "0.4.3"]
                       [cider/cider-nrepl "0.16.0"]]
        :dependencies [[com.bhauman/rebel-readline "0.1.1"]]}}

However, when I attempt to run the REPL within a project, everything seems to work as expected. In particular, when I do the following:

$ lein new foo
$ cd foo/

and edit the project.clj file to include [com.bhauman/rebel-readline "0.1.1"] as a dependency, then, while in the foo project directory, everything seems to work fine:

$ lein trampoline run -m rebel-readline.main
[Rebel readline] Type :repl/help for online help info
user=>

Am I doing something amiss, or simply misunderstanding the README?

bhauman commented 6 years ago

Yes you are more missunderstanding the Readme. You need to be in a project directory.

On Mar 7, 2018, at 3:56 PM, Indraniel notifications@github.com wrote:

I was following the README and trying to run rebel-readline globally and encountered this error when trying to invoke the REPL:

$ cd $ lein trampoline run -m rebel-readline.main Couldn't find project.clj, which is needed for trampoline Before I ran the above commands, I updated my ~/.lein/profiles.clj as so:

{:user {:plugins [[lein-try "0.4.3"] [cider/cider-nrepl "0.16.0"]] :dependencies [[com.bhauman/rebel-readline "0.1.1"]]}} However, when I attempt to run the REPL within a project, everything seems to work as expected. In particular, when I do the following:

$ lein new foo $ cd foo/ and edit the project.clj file to include [com.bhauman/rebel-readline "0.1.1"] as a dependency, then, while in the foo project directory, everything seems to work fine:

$ lein trampoline run -m rebel-readline.main [Rebel readline] Type :repl/help for online help info Am I doing something amiss, or simply misunderstanding the README?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

indraniel commented 6 years ago

I see. Thanks for the clarification! I initially interpreted

Alternatively, you can add rebel-readline globally to $HOME/.lein/profiles.clj

As I could invoke the rebel REPL globally (while in any directory) via lein trampoline, much like the corresponding Clojure tools approach using

clojure -Sdeps "{:deps {com.bhauman/rebel-readline {:mvn/version \"0.1.1\"}}}" -m rebel-readline.main