Skip to content
This repository has been archived by the owner on Oct 6, 2021. It is now read-only.

project_template/bin/setup doesn't check for required dependencies #25

Open
flarik opened this issue Apr 29, 2015 · 5 comments
Open

project_template/bin/setup doesn't check for required dependencies #25

flarik opened this issue Apr 29, 2015 · 5 comments

Comments

@flarik
Copy link
Contributor

flarik commented Apr 29, 2015

The following command below is just run from bin/setup:

bundle install

I think several things should be considered here:

  1. Check for System Ruby -or- Rbenv -or- RVM
  2. Check for -or- install a specific version of ruby (?)
  3. Check if bundle is installed (standard mac's, linux don't have it, don't know about windows)
  4. use a gemset -or- better install to a explicit bundle directory (e.g. don't pollute gems and friends on local machine)
@pascalw
Copy link
Member

pascalw commented Apr 29, 2015

@flarik @eirvandelden there's a couple of issues currently all regarding the same thing, IMO. #25 #26 and #27 are all about pre-requisites.

I would prefer to not mess with automatically installing pre-requisites. This used to work fine when we only needed to support OS X, but now we have to support Linux and Windows too this gets really nasty real quick. Maji is not a configuration management tool :-)

My proposal would be to list the following pre-requisites in the README:

  • Ruby (>= 2.0 should be good) + Bundler
  • Node >= 0.10 + NPM
  • Git (only needed as long as we haven't published to NPM yet)
  • Bash

Everything else can be considered application dependencies and will be installed automatically. This includes rspec, cordova, phantomjs etc etc.

What do you think?

@flarik
Copy link
Contributor Author

flarik commented Apr 29, 2015

I completely agree it shouldn't be a configuration management tool, it probably will get messy soon. I was just following the current flow.

In case you want people to manually install their own software, instead of with a script, there still needs to be way of checking if people have the necessary "base software" installed, it can be as easy as checking for the commands in the current $PATH and just bail out if it's not there. Not completely sure how this can be done on Windows. (Same goes for git hooks)

It also probably means we need more documentation regarding installing apps and tools. For example I just installed rvm, but it didn't have bundler, I installed Android studio, but the installation failed because of the need for android 4.4.2. I can see these things now because I'm on a virgin MacBook.

@pascalw
Copy link
Member

pascalw commented Apr 30, 2015

In case you want people to manually install their own software, instead of with a script, there still needs to be way of checking if people have the necessary "base software" installed, it can be as easy as checking for the commands in the current $PATH and just bail out if it's not there. Not completely sure how this can be done on Windows. (Same goes for git hooks)

I agree, we should add that.

It also probably means we need more documentation regarding installing apps and tools.

Definitely.

but the installation failed because of the need for android 4.4.2

There's a (sparse) section in the readme about that, did you see that?

@pascalw
Copy link
Member

pascalw commented Jun 4, 2015

This is partially addressed in #27. We do still need to add a couple of checks to warn users when the prerequisites are not met.

@pascalw pascalw changed the title project_template/bin/setup doesn't check for availability of bundle and therefore ruby project_template/bin/setup doesn't check for required dependencies Oct 3, 2017
@pascalw
Copy link
Member

pascalw commented Oct 3, 2017

Reworded this issue since we don't have a ruby dependency anymore in Maji 3. However conceptually we're still not checking (all) prerequisites.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants