RubyMine 7.1.3 Help

Run/Debug Configuration: Node JS

In this dialog box, create configurations for running and debugging of NodeJS applications locally. "Locally" in the current context means that RubyMine itself starts the NodeJS framework installed on your computer, whereupon initiates a running or debugging session.

On this page:

Getting Access to the Run/Debug Configuration: NodeJS Dialog Box

  1. Install and enable the Node.js plugin.

    The plugin is not bundled with RubyMine, but it is available from the RubyMine plugin repository. Once enabled, the plugin is available at the IDE level, that is, you can use it in all your RubyMine projects. See Installing, Updating and Uninstalling Repository Plugins and Enabling and Disabling Plugins for details.

  2. Download and install the NodeJS framework that contains the Node Package Manager(npm).

Configuration Tab

Node Interpreter In this field, specify the NodeJS installation home. Type the path to the NodeJS executable file manually, or click the browseButton.png button and select the location in the dialog box, that opens.
Node Parameters In this text box, type the NodeJS-specific command line options to be passed to the NodeJS executable file. The acceptable options are:
--debug-brk==<port for connect to debugger remotely>

  • With the --debug-brk option, the execution of the application suspends right after launch. This option allows you to debug the code executed on start.
  • With the --debug option, the code that has to be executed on the application start is executed whereupon the application waits for a debugger to connect to it. This option is useful when you are not going to debug Node.js right now, but you want to debug it later.

Specify this option to enable remote debugging of the application without re-starting the NodeJS server.
-v, --version Print the current version of NodeJS.
-e, --eval script Evaluate script.
--v8-options Print v8 command line options.
--vars Print various compiled-in variables.
--max-stack-size=val Set max v8 stack size (bytes).
Working Directory In this field, specify the working directory of the application. All references in the starting NodeJS application file, for example, includes, will be resolved relative to this folder, unless such references use full paths.

By default, the field shows the project root folder. To change this predefined setting, choose the desired folder from the drop-down list, or type the path manually, or click the Browse button browseButton.png and select the location in the dialog box, that opens.

JavaScript File In this field, specify the full path to the file to start running or debugging the application from.

If you are going to debug CoffeeScript, specify the path to the generated JavaScript file with source maps. The file can be generated externally or through transpilation using file watchers. For more details, see Transpiling CoffeeScript to JavaScript.

Application Parameters In this text box, type the NodeJS-specific arguments to be passed to the starting NodeJS application file through the process.argv array.
Environment Variables In this field, specify the environment variables for the NodeJS executable file, if applicable. Click the Browse button browseButton.png to the right of the field and configure a list of variables in the Environment Variables dialog box, that opens:
  • To define a new variable, click the Add toolbar button add.png and specify the variable name and value.
  • To discard a variable definition, select it in the list and click the Delete toolbar button delete.png.
  • Click OK, when ready

The definitions of variables are displayed in the Environment variables read-only field with semicolons as separators. The acceptable variables are:

NODE_PATH A :-separated list of directories prefixed to the module search path.
NODE_MODULE_CONTEXTS Set to 1 to load modules in their own global contexts.
NODE_DISABLE_COLORS Set to 1 to disable colors in the REPL.
Run with CoffeeScript pluginIf this check box is selected, you can launch the CoffeeScript files directly, without previously transpiling them to JavaScript.
Path to coffee executableSpecify here the path to the executable file that launches the CoffeeScript transpiler.
CoffeeScript parametersSpecify here the parameters to be passed to CoffeeScript.

Browser / Live Edit Tab

In this tab, configure the behaviour of the browser and enable debugging the client-side code of the application. This functionality is provided through a JavaScript Debug run configuration, so technically, RubyMine creates separate run configurations for the server-side and the client-side code, but you specify all your settings in one dedicated NodeJS run configuration.

However, activating Live Edit in this tab lets you invoke Live Edit without creating a separate configuration, during a debugging session launched through the Node.js configuration.

For more information, see Live Editing of HTML, CSS, and JavaScript.

Open Browser In the text box in this area, specify the URL address to open the application at. If you select the After Launch check box, the browser will open this page automatically after the application starts. Alternatively you can view the same result by opening the page with this URL address in the browser of your choice manually.
After launch Select this check box to have a browser started automatically after a debugging session is launched. Specify the browser to use in the drop-down list next to the check box.
  • To use the system default browser, choose Default.
  • To use a custom browser, choose it from the list. Note that Live Edit is fully supported only in Chrome.
  • To configure browsers, click the Browse button browseButton and adjust the settings in the Web Browsers dialog box that opens. For more information, see Configuring Browsers.
With JavaScript debugger Select this check box to enable debugging the client-side code in the selected browser.

V8 Profiling Tab

Record CPU profiling info Select this check box to start logging the CPU profiling data when the application is launched. The controls in the area below become enabled. Specify the following:
  • Log folder: in this field, specify the folder to store recorded logs in. Profiling data are stored in V8 log files isolate-<session number>.
  • One log file for isolates:
  • Tick package: in this field, specify the tick package to use. Choose the relevant package from the Tick package drop-down list or click the browseButton button next to it and choose the package in the dialog box that opens.
  • Gnuplot package: in this field, specify the location of the Gnuplot executable file to explore a timeline view that shows where V8 is spending time.
Allow taking heap snapshots Select this check box to... The controls in the area below become enabled. Specify the following:
  • V8 profiler package: in this field, specify the v8-profiler package to use. Choose the relevant package from the v8-profiler package drop-down list or click the browseButton button next to it and choose the package in the dialog box that opens.
  • Communication port: in this field, specify the port through which RubyMine communicates with the profiler, namely, sends a command to take a snapshot when you click the Take Heap Snapshot button ws_v8_profiling_take_snapshot on the toolbar of the Run tool window.


add Alt+Insert Click this button to add a new configuration to the list.
delete Alt+Delete Click this button to remove the selected configuration from the list.
copy Ctrl+D Click this button to create a copy of the selected configuration.
settings Edit defaultsClick this button to edit the default configuration templates. The defaults are used for newly created configurations.
arrowUp or arrowDown Alt+Up or Alt+Down Use these buttons to move the selected configuration or folder up and down in the list.

The order of configurations or folders in the list defines the order in which configurations appear in the Run/Debug drop-down list on the main toolbar.

folder Move into new folder / Create new folder Use this button to create a new folder.

If one or more run/debug configurations are in focus, the selected run/debug configurations are automatically moved to the newly created folder. If only a category is in focus, an empty folder is created.

Move run/debug configurations to a folder using drag-and-drop, or the arrowUp arrowDown buttons.

sortAlphabetically Sort configurations Click this button to sort configurations in alphabetical order.

Common Options

NameIn this text box, specify the name of the current run/debug configuration. This field does not appear for the default run/debug configurations.
Defaults This node in the left-hand pane of the dialog box contains the default run/debug configuration settings. Select the desired configuration to change its default settings in the right-hand pane. The defaults are applied to all newly created run/debug configurations.
Share Select this check box to make the run/debug configuration available to other team members.

The shared run/debug configurations are kept in separate xml files under .idea\runConfigurations folder, while the local run/debug configurations are kept in the .idea\workspace.xml.

This check box is not available when editing the run/debug configuration defaults.

Before launchSpecify which tasks must be performed before applying the run/debug configuration. The specified tasks are performed in the order they appear in the list.
ItemKeyboard shortcutDescription
add Alt+Insert Click this icon to add a task to the list. Select the task to be added:
  • Run External tool. Select this option to run an application which is external to RubyMine. In the dialog that opens, select the application or applications that should be run. If the necessary application is not defined in RubyMine yet, add its definition. For more information, see Configuring Third-Party Tools and External Tools.
  • Run Another Configuration. Select this option to have another run/debug configuration executed. In the dialog that opens, select the configuration to be run.
  • Generate CoffeeScript Source Maps. Select this option to have the source maps for your CoffeeScript sources generated. In the dialog that opens, specify where your CoffeeScript source files are located. For more information, see CoffeeScript Support.
  • Run Remote External tool: Add a remote SSH external tool. Refer to the section Remote SSH External Tools for details.
  • Run Rake task:Add a Rake task to be executed prior to running or debugging. To choose a Rake task, click the browse button browseButton, and select the desired task from the list of available tasks.

    Note that code completion is available here.

    To learn more about Rake support, refer to Rake section.
  • Run JRuby compiler: choose this option to execute JRuby compiler with the specified target path, compiler process heap size, and command line parameters (if any).
delete Alt+Delete Click this icon to remove the selected task from the list.
edit1 Enter Click this icon to edit the selected task. Make the necessary changes in the dialog that opens.
arrowUp Alt+Up Click this icon to move the selected task one line up in the list.
arrowDown Alt+Down Click this icon to move the selected task one line down in the list.
Show this page Select this check box to have the run/debug configuration settings shown prior to actually starting the run/debug configuration.

See Also

Last modified: 27 June 2015