vadimdemedes / ronin

Toolkit for killer CLI applications
http://vdemedes.github.io/ronin
MIT License
299 stars 15 forks source link

How to install globally #8

Open pulkitsinghal opened 9 years ago

pulkitsinghal commented 9 years ago

When I use Ronin to generate a template, I know that "it will run npm install to install dependencies and npm link to make todo program available globally."

(1) But what about when I need to distribute my CLI, how do I install todo as a global program at that time for my clients? (2) I am primarily a mac user, I was wondering if Ronin works exactly the same way on windows too? (3) Do I have to generate a template on a windows machine to get a binary that is distributable there? I would then maintain two repos i suppose which share the same code underneath ... Or can I generate mac and windows distributable files all from my mac itself? (4) Perhaps these questions weren't "issue" worthy ... would you mind opening a public chat room linked to this repo on https://gitter.im ... like https://gitter.im/vdemedes/ronin ... it will be free since your project is public and issues won't get cluttered by questions ... plus the community that uses your code can also answer Qs. Also its all the rage these days :P

vadimdemedes commented 9 years ago
  1. I am thinking about making a universal install script written in bash to accomplish that task.
  2. It should, but I haven't tested it. I am refactoring Ronin now, it should be more stable then.
  3. You don't get a binary at the end, you get a usual npm package, which can be installed everywhere where Node.js & npm works.
  4. There is one - https://gitter.im/vdemedes/ronin (going to sleep now, will check tomorrow if you've got questions).
vadimdemedes commented 9 years ago

Reopening until universal install script is done.

pulkitsinghal commented 9 years ago

This is obvious and you already told me so but after testing ... I too can confirm that the CLI project that I had generated via Ronin on mac was easily distributed to windows7 via:

git clone https://github.com/ShoppinPal/vend-tools.git
cd vend-tools
npm install
npm link

Only autocomplete is missing as I type my command but I think that's more a windows bash shell configuration thing ... right?

vadimdemedes commented 9 years ago

Of course, it's obvious that this is one of the ways how you'd install your program on some computer. But you don't want to tell your users to execute 4 commands to install something, right?

So my solution to this problem is to provide one bash script (won't work on windows, PRs are welcome) that will install your program on user's computer and take care of dependencies automatically. Also, you really don't want to mention that your program requires node and npm to be installed, so this script should take care of this too.

So at the end you will end up with something like:

$ curl http://example.org/install | bash

which is way more user-friendly.

pulkitsinghal commented 9 years ago

I agree with all of that. I deployed at a client-site so just wanted to thank you for the simple fact that I was able to get it done while the scripting work is in progress.