NodeBB development environment (IDE - Tools - Configs etc)
-
I would love a solution or a workaround because I've been trying for a couple days to try and get this working. I just want to be able to debug NodeBB's plugins and core components
PS. I've tried WebStorm, node-inspector and strong-cli. I've tried them all with latest node.js and also version 0.10
-
@agarcia17 do you get the EADRRINUSE with all of them?
-
Anyone could provide any details, guides or something related to debug node.js applications using mentioned tools or different ones? What about expecifically nodebb? How do you debug your plugins/nodebb developments? Do you only use logs or use another kind of tools?
Thanks in advance.
-
I'm using PHPStorm/Intellij Ultimate and the only way it seems to work for me (on Windows, can't remember if it worked on OS X) is to use a remote Node.js debugging session. If I don't do this, it get's stuck on the minifier stage.
Here is my run configuration and there is my remote debug configuration. These are configurations in a plugin project so this only allows your to debug your project files. To debug NodeBB modules you have to run/debug from the NodeBB project.
After that you just run the Run configuration and debug the remote debug configuration when needed.
FYI: Visual Studio Code worked with debugging right out of the box.
-
@agarcia17 thanks, will give it a try.
-
@agarcia17 i've just tried with visual studio code 0.3.0 and nodebb master on commit 96526a37a3cd64a866f3fc14a71cc327234d9a7d. And i'm getting the same EADDERINUSE; maybe could you point something I miss?
-
I've been struggling with this all day and no luck.
Even when I run from the command line I still get the error:
http://i.imgur.com/Ewvq4AN.png -
Sorry for bumping this up, but i haven't managed to get any of the suggested debug tools working with nodebb.
Has someone managed to use them recently? Any help?
Thanks!
-
So, I hope I'm not speaking too soon, but this should get you guys up and running (OSX Yosemite)
So far what I've done is:
-
upgrade to node 0.12.5 (0.12.x should be sufficient)
- I'm not sure if this is necessary. I did it because I read that there's better support for debugging clustered apps due to the way it passes the debug port to child processes, but it still wasn't working for me using most of the tutorials on the internet
-
install node-inspector
-
if like me you had already installed node-inspector and nodeBB prior to upgrading to node 0.12.x, you'll have to rebuild your node packages:
- in your NodeBB root directory, run
npm rebuild
- in your node-inspector root dir, also run
npm rebuild
- I installed node-inspector through npm, (
npm install -g node-inspector
) so I had to go to/usr/local/lib/node_modules/node_inspector
and runnpm rebuild
- I installed node-inspector through npm, (
- in your NodeBB root directory, run
-
Start nodebb in development mode: (in NodeBB root dir):
./nodebb dev
- this starts up only one fork so you don't get the EADDRINUSE error
-
In a new terminal, run
node-inspector &
(spins up as a background process, so if something goes wrong, useps aux | grep node-inspector
to find the pid and kill it)-
this will output something like
Visit http://127.0.0.1:8080/debug?ws=127.0.0.1:8080&port=5858 to start debugging.
-
-
Press enter to get back to the command line
-
Type
ps aux | grep app.js
:brian 79177 0.0 0.0 2432772 660 s006 R+ 10:03PM 0:00.00 grep app.js brian 79089 0.0 1.1 3763608 183804 s005 S+ 9:41PM 0:04.91 /usr/local/Cellar/node/0.12.5/bin/node app.js
-
the pid for NodeBB is 79089 in my case, so I just send a
kill -s USR1 79089
and you should see this in the terminal where you spun up ./nodebb dev:Starting debugger agent. Debugger listening on port 5858
-
Go load the address you got from node-inspector in your browser ^ (it might take a second to load)
-
Set a breakpoint somewhere (that you know how to hit) and you should be up and running!
-
Now you can also just ctrl-C to quit the nodeBB process. If you want to start it again:
- Start
./nodebb dev
again - Use
ps aux | grep app.js
to find the pid again - Since node-inspector is still running in the background, you just have to send a
kill -s USR1 <pid>
to the new pid of the running nodebb instance, and refresh the browser window that had the debugger open originally
- Start
-