RubyMine 2019.2 Help

Configure Node.js Remote Interpreter Dialog

The dialog is available only when the Node.js Remote Interpreter plugin is installed and enabled. The plugin is not bundled with RubyMine, but it can be installed from the JetBrains plugin repository as described in Managing plugins.


The dialog opens when you click Add the Add button in the Node.js Interpreters dialog and choose Remote... from the drop-down menu. This menu item is available only when you open the Node.js Interpreters dialog from the Run/Debug Configuration: Node.js.

Use this dialog to configure access to Node.js installations on remote hosts or in development environments set up in Vagrant instances.

Item

Description

Vagrant

This option is available only when the Vagrant repository plugin is installed and enabled. The plugin is not bundled with RubyMine, but it can be installed from the JetBrains plugin repository as described in Managing plugins.

Choose this option to configure access to a Node.js interpreter installed in a Vagrant instance using your Vagrant credentials. Technically, it is the folder where the VagrantFile configuration file for the desired environment is located. Based on this setting, RubyMine detects the Vagrant host and shows it as a link in the Vagrant Host URL read-only field.

To use an interpreter configuration, you need path mappings that set correspondence between the project folders, the folders on the server to copy project files to, and the URL addresses to access the copied data on the server. RubyMine evaluates path mappings from the VagrantFile configuration file.

Deployment Configuration

This option is available only when the Remote Hosts Access plugin is enabled. The plugin is activated by default. If the plugin is disabled, enable it on the Plugins page as described in Managing plugins.

Choose this option to configure access to a Node.js interpreter on a remote host using a server access configuration. This option is available only if you have at least one server access configuration of the type SFTP, see Creating a Remote Server Configuration.

From the Deployment Configuration list, choose the server access configuration of the SFTP type according to which you want RubyMine to connect to the target host. If the settings specified in the chosen configuration ensure successful connection, RubyMine displays the URL address of the target host as a link in the Deployment Host URL field.

To use an interpreter configuration, you need path mappings that set correspondence between the project folders, the folders on the server to copy project files to, and the URL addresses to access the copied data on the server. By default, RubyMine retrieves path mappings from the chosen server access (deployment) configuration. If the configuration does not contain path mappings, RubyMine displays the corresponding error message.

To fix the problem, open the Deployment page under the Build, Execution, Deployment node, select the relevant server access configuration, switch to the Mappings tab, and map the local folders to the folders on the server as described in the Map local folders to folders on the server and the URL addresses to access them section.

SSH Credentials

Select this option to configure access to a Node.js interpreter on a remote host through SSH credentials. In the fields of the dialog, specify the following:

  • Host: in this field, type the name of the host on which the interpreter is installed.

  • Port: in this field, type the port, which the SSH server on the remote host listens to. The default port number is 22.

  • User name: in the field, type the username under which you are registered on the SSH server.

  • Auth type: from this list, choose the authentication method.

    • Password: to access the host with a password. Specify the password, and select the Save password checkbox to save the password in RubyMine.

    • Key pair (OpenSSH or PuTTY): to use SSH authentication with a key pair. To apply this authentication method, you must have a private key on the client machine and a public key on the remote server. RubyMine supports private keys that are generated with the OpenSSH utility.

      Specify the path to the file where your private key is stored and type the passphrase (if any) in the corresponding fields. To have RubyMine remember the passphrase, select the Save passphrase checkbox.

    • OpenSSH config and authentication agent: to use SSH keys that are managed by a credentials helper application (for example, Pageant on Windows or ssh-agent on Mac and Linux).

To use an interpreter configuration, you need path mappings that set correspondence between the project folders, the folders on the server to copy project files to, and the URL addresses to access the copied data on the server. RubyMine first attempts to retrieve path mappings itself by processing all the available application-level configurations. If RubyMine finds the configurations with the same host as the one specified above, in the Host field, the mappings from these configurations are merged automatically. If no configurations with this host are found, RubyMine displays an error message informing you that path mappings are not configured.

To fix the problem, open the Deployment page under the Build, Execution, Deployment node, select the server access configuration, switch to the Mappings tab, and map local folders to folders on the server as described in Creating a Remote Server Configuration, section Mapping Local Folders to Folders on the Server and the URL Addresses to Access Them.

Docker

This option is available only when the Node.js, Node.js Remote Interpreter, and Docker Integration plugins are installed and enabled as described in Managing plugins.

Select this option to use a Node.js interpreter that is running in a Docker container.

  1. In the Server field, specify the Docker configuration to use, see Working with Docker: Process overview for details. Select a configuration from the list or click the Browse button and create a new configuration on the Docker page that opens.

  2. In the Image name field, specify the base Docker image to use. Choose one of the previously downloaded or your custom images from the list or type the image name manually, for example, node:argon or mhart/alpine-node. When you later launch the run configuration, Docker will search for the specified image on your machine. If the search fails, the image will be downloaded from the image repository specified on the Docker Registry page.

  3. The Node.js interpreter path field shows the location of the default Node.js interpreter from the specified image.

  4. When you click OK, RubyMine closes the Configure Node.js Remote Interpreter dialog and brings you to the Node.js Interpreters dialog where the new interpreter configuration is added to the list. Click OK to return to the run configuration.

Docker Compose

This option is available only when the Node.js, Node.js Remote Interpreter, and Docker Integration plugins are installed and enabled as described in Managing plugins.

Select this option to use a Node.js interpreter configuration defined in a Docker Compose file docker-compose.yml. Note that this file must have node or npm in the command field, for example, command: node ./src/app.js. See the Docker Official website for more details.

  1. In the Server field, specify the Docker configuration to use, see Working with Docker: Process overview for details. Select a configuration from the list or click the Browse button and create a new configuration on the Docker page that opens.

  2. In the Configuration file(s) field, specify the docker-compose.yml file that defines the application's services.

  3. From the Service list, select the service you want to run.

  4. Optionally, in the Environment variables field, define the environment variables. See Using Environment Variables for details.

Node.js Interpreter Path

In this field, specify the location of the Node.js executable file in accordance with the configuration of the selected remote development environment.

  • For remote hosts, RubyMine by default suggests the /usr/bin/node folder.

  • For Vagrant instances, RubyMine by default suggests the /usr/bin/node folder.

  • For Docker containers, RubyMine by default suggests the node folder.

When you click OK, RubyMine checks whether the Node.js executable is actually stored in the specified folder.

  • If no Node.js executable is found, RubyMine displays an error message asking you whether to continue searching or save the interpreter configuration anyway.

  • If the Node.js executable is found, you return to the Node.js Interpreters dialog where the installation folder and the detected version of the Node.js interpreter are displayed.

Last modified: 5 September 2019

See Also

Procedures: