1 |
On Thu, Sep 17, 2015 at 09:24:39PM +0200, Alan McKinnon wrote: |
2 |
> On 17/09/2015 20:50, Michael Orlitzky wrote: |
3 |
> > On 09/17/2015 10:03 AM, Alan McKinnon wrote: |
4 |
> >> Anyone here familiar with driving nodejs and npm? |
5 |
> >> |
6 |
> >> I'm trying to write an ebuild for a musicbrainz mirror server and "npm |
7 |
> >> install" keeps erroring out with one of two errors: |
8 |
|
9 |
Haha, npm. First time I ever ran npm, it required 3 runs before it |
10 |
actually managed to fetch all the dependencies. Hopefully it's better |
11 |
now. |
12 |
|
13 |
> > |
14 |
> > 2) The right way to do it is to use an eclass and install all of the |
15 |
> > dependencies using separate packages. As you can imagine, this is a |
16 |
> > nightmare if you have more than a few dependencies (looks like you do). |
17 |
> |
18 |
> Errr, no :-) |
19 |
> |
20 |
> g-cpan is bad enough and those ebuilds are mostly template-able. At |
21 |
> least CPAN modules mostly respond correctly to make && make install. |
22 |
> That node stuff doesn't look like it will ever package sanely. |
23 |
|
24 |
Unfortunately, the right way with nodejs/ruby web stuff is to use the |
25 |
tooling specific to the language. If this[1] is what you're trying to |
26 |
deploy, I feel sorry. |
27 |
|
28 |
If I was serious about deploying this, I would: |
29 |
|
30 |
1. Fork the repo and add a remote on my own server |
31 |
2. Add your custom configuration |
32 |
3. Write a small shell script that |
33 |
1. Runs `git pull` from your own infrastructure |
34 |
2. Installs perl/node deps locally |
35 |
3. Runs the gulp build |
36 |
4. Runs plackup |
37 |
4. Add an init script that runs that start script |
38 |
|
39 |
This sucks, but it seems to be the way a lot of web stuff is deployed |
40 |
these days. |
41 |
|
42 |
Hope this helps, |
43 |
|
44 |
Alec |
45 |
|
46 |
[1] https://github.com/metabrainz/musicbrainz-server |