river4 on Nodejitsu

210 views
Skip to first unread message

Dave Seidel

unread,
Jun 13, 2014, 5:03:48 PM6/13/14
to riv...@googlegroups.com
I was able to get river4 running on Nodejitsu without much trouble (I already had an account there, so I wanted to try it out). I will write up the steps soon so that people can see the specific differences relative to deploying on Heroku, but I did want to mention one issue I ran into: one of the module dependencies would not load unless I changed river4's package.json file to use version 0.8.x of node rather than version 0.6.x:

  "engines": {
    "node": "0.8.x"
  }

Unfortunately I did not keep notes of the specific error, but when I write up the details I will recreate the environment so I can provide details. But I have not noticed anything going amiss running river4 under the more current version (the latest stable release if node is actually 0.10.x).

You can see my river here: http://river4.s3-website-us-east-1.amazonaws.com/. It is using the OPML file I exported from my Feedly account, since that seemed to be a pretty good test case.

Dave, thanks for creating this and making it open source. The river interface is not my personal preference, but this works well, looks good, and could be a great starting point for someone who wants to build a different style of aggregator. Given the recent Feedly outage, this is starting to look like a more attractive option.

- Dave

Dave Winer

unread,
Jun 14, 2014, 8:37:40 AM6/14/14
to riv...@googlegroups.com
Dave, thanks for the information about Nodejitsu and the package.json file.

Re the river format, it should be totally possible to create a mailbox-style interface from the data under the river. All the per-feed data is available in the data structures maintained by RIver4, and if any are needed beyond what's there I'm totally open to adding more.

Having a distributed feed system is very important to the health of RSS.

Dave

Dave Seidel

unread,
Jun 14, 2014, 9:34:42 AM6/14/14
to riv...@googlegroups.com
Thanks, Dave. I agree, and time willing, I will look further into what it would take to create a different interface. I just forked the project to give myself a sandbox (and potentially a way to offer pull requests).

Here are more details on the issues I had before I bumped the node version from 0.6.x to 0.8.x. The quoted parts are all excerpts rom the console output of running the command "jitsu deploy" (this is how Nodejitsu apps are deployed).

First, there were some warnings from dependencies that expected node 0.8. or greater. These were not fatal but they could be indicative of potential runtime problems:

npm WARN engine opmlp...@0.6.0: wanted: {"node":">= 0.8.0"} (current: {"node":"0.6.21","npm":"1.4.4"})
npm WARN engine feedp...@0.17.0: wanted: {"node":">= 0.8.0"} (current: {"node":"0.6.21","npm":"1.4.4"})

npm WARN engine form...@0.1.3: wanted: {"node":">= 0.8"} (current: {"node":"0.6.21","npm":"1.4.4"})
npm WARN engine http-si...@0.10.0: wanted: {"node":">=0.8"} (current: {"node":"0.6.21","npm":"1.4.4"})
npm WARN engine ha...@1.0.0: wanted: {"node":">=0.8.0"} (current: {"node":"0.6.21","npm":"1.4.4"})

npm WARN engine cryp...@0.2.2: wanted: {"node":">=0.8.0"} (current: {"node":"0.6.21","npm":"1.4.4"})
npm WARN engine sn...@0.2.4: wanted: {"node":">=0.8.0"} (current: {"node":"0.6.21","npm":"1.4.4"})
npm WARN engine bo...@0.4.2: wanted: {"node":">=0.8.0"} (current: {"node":"0.6.21","npm":"1.4.4"})
npm WARN engine ho...@0.9.1: wanted: {"node":">=0.8.0"} (current: {"node":"0.6.21","npm":"1.4.4"})

Second, and this was the showstopper:

error:   Error running command deploy
error:   Errors occured while starting the application
error:   Error output from application. This is usually a user error.
error:   
error:   module.js:337
error:       throw new Error("Cannot find module '" + request + "'");
error:             ^
error:   Error: Cannot find module 'domain'
error:       at Function._resolveFilename (module.js:337:11)
error:       at Function._load (module.js:279:25)
error:       at Module.require (module.js:359:17)
error:       at require (module.js:375:17)
error:       at Object.nodeRequire (/opt/run/snapshot/package/node_modules/aws-sdk/lib/util.js:39:31)
error:       at Object.<anonymous> (/opt/run/snapshot/package/node_modules/aws-sdk/lib/sequential_executor.js:2:23)
error:       at Module._compile (module.js:446:26)
error:       at Object..js (module.js:464:10)
error:       at Module.load (module.js:353:31)
error:       at Function._load (module.js:311:12)
error:   
error:   Error starting application. This could be a user error.

After some googling around, I got some hits that showed that people have run into this before in other contexts, and that the solution was to use node version 0.8.x or higher. So I made that change in package.json and it worked without further ado.

To make the information easier to find, I'll start a new topic to summarize the commands used to deploy on Nodejitsu, including setting environment variables. 

- Dave

Dave Winer

unread,
Jun 14, 2014, 10:02:30 AM6/14/14
to riv...@googlegroups.com
Thanks Dave, 

I'm inclined to just make the change that would be required to get a clean deploy on Nodejitsu. 

But Dan MacTough is the Node expert on this list, and ultimately I will do what he tells me to do. ;-)

Dave


On Friday, June 13, 2014 11:03:48 PM UTC+2, Dave Seidel wrote:

Dave Seidel

unread,
Jun 14, 2014, 10:08:59 AM6/14/14
to riv...@googlegroups.com
IMO it should be a safe change regardless of the hosting provider, since 0.8.x is a legit stable version, but I'm sure Dan knows more than either of us on this stuff (I'm still a node newbie myself).

- Dave

Dan MacTough

unread,
Jun 14, 2014, 12:20:09 PM6/14/14
to riv...@googlegroups.com
I don't know about deploying to nodejitsu -- don't use them. But it's totally safe to make that change. 

Reply all
Reply to author
Forward
0 new messages