Home > Software engineering >  Having trouble passing in --node-args with pm2
Having trouble passing in --node-args with pm2

Time:01-10

I make my scripts on windows then put them on my ubuntu server. This is my first time trying to pass args into the script on start up. It works on windows I run

node file.js --variable=value

Then in my code I grab it with

const passedIn = require(argv.variable);

I cant figure out how to make this work with pm2.

I have been trying

pm2 start file.js --name myScript --node-args="value"

I didnt expect this to work. What do I need to call to access my passed in arg correctly from the code instead of argv.variable? and can I still do something like

--node-args="variable=value"

CodePudding user response:

Try this:

pm2 start file.js --name myScript --node-args="--variable=value -port 12345"

Alternatively, add --, followed by your script args:

pm2 start file.js --name myScript -- --variable=value -port 12345

Details: https://futurestud.io/tutorials/pm2-how-to-start-your-app-with-node-js-v8-arguments

CodePudding user response:

I was able to do it like this

pm2 start script.js --name myScript -- -v=value

and access it in code with

var argv = require('minimist')(process.argv.slice(2));

console.log(argv.v);

it only seemed to allow 1 letter variables.

  • Related