Seed Project
Overview
The CLI prints its log file location when it starts. Use that log together with the failing command and configuration to diagnose setup, download, and build errors.
ℹ️ For details on failures specific to automated tests, see the Testing > Troubleshooting section.
Certificate Errors
Errors such as SELF_SIGNED_CERT_IN_CHAIN or unable to verify the first certificate can occur when a corporate proxy signs HTTPS traffic with an internal certificate authority that Node.js doesn't trust. Obtain the required CA certificates from your organization and configure trust before retrying the command.
System Certificates
Upgrading Node.js alone doesn't enable trust in system certificates. With Node.js v22.19.0, v24.6.0, or later supported versions, enable the system CA store explicitly.
On Windows, set the environment variable in PowerShell before running setup:
$env:NODE_USE_SYSTEM_CA = "1"
npm run setupOn macOS, set it for the command:
NODE_USE_SYSTEM_CA=1 npm run setupFor repeated use, configure the variable in your user environment or shell profile and restart the terminal. The equivalent Node.js flag is --use-system-ca, which can be added to NODE_OPTIONS while preserving existing options.
Additional Certificates
To supply CA certificates directly, use NODE_EXTRA_CA_CERTS with a PEM file containing the required certificate chain.
On Windows:
$env:NODE_EXTRA_CA_CERTS = "C:\Certificates\company-ca.pem"
npm run setupOn macOS:
NODE_EXTRA_CA_CERTS="$HOME/certificates/company-ca.pem" npm run setupℹ️ For details on CA configuration and supported versions, see the Node.js enterprise network documentation.
Temporary Verification Bypass
⚠️ Note that disabling certificate verification allows untrusted HTTPS connections. Use a bypass only to diagnose a development environment, then restore verification and configure the required certificates. Don't save the bypass in a user profile or CI configuration.
To test a single setup attempt in PowerShell and restore the previous value afterwards:
$previousTlsSetting = $env:NODE_TLS_REJECT_UNAUTHORIZED
try {
$env:NODE_TLS_REJECT_UNAUTHORIZED = "0"
npm run setup
} finally {
$env:NODE_TLS_REJECT_UNAUTHORIZED = $previousTlsSetting
}On macOS, scope the bypass to the command:
NODE_TLS_REJECT_UNAUTHORIZED=0 npm run setupProxy Connections
Connection timeouts, ECONNREFUSED, or fetch failed errors can indicate a missing proxy configuration. Successful access in a browser doesn't establish that the CLI has the same proxy configuration.
Available since @interopio/iocd-cli 0.0.54
The CLI reads HTTP_PROXY, HTTPS_PROXY, and NO_PROXY, including their lowercase equivalents. It doesn't discover Windows WinHTTP or macOS system proxy settings.
The following example demonstrates proxy settings for a PowerShell session:
$env:HTTP_PROXY = "http://proxy.example.com:8080"
$env:HTTPS_PROXY = "http://proxy.example.com:8080"
$env:NO_PROXY = "localhost,127.0.0.1,.example.com"
npm run setupOn macOS:
export HTTP_PROXY="http://proxy.example.com:8080"
export HTTPS_PROXY="http://proxy.example.com:8080"
export NO_PROXY="localhost,127.0.0.1,.example.com"
npm run setupUse the proxy address and exclusions supplied by your organization. Confirm that the variables are present in the terminal or CI job that runs the CLI. Retry setup and check the CLI log. If connections succeed but certificate validation fails, configure the CA certificates described in Certificate Errors.
NPM Registry & Proxy Errors
NPM honors proxy environment variables. It also has registry, proxy, and certificate settings that can override or supplement the environment. If npm install fails while component downloads work, inspect the relevant NPM settings:
npm config get registry
npm config get proxy
npm config get https-proxy
npm config get cafile
npm config get strict-sslTo use explicit NPM proxy settings, execute:
npm config set proxy http://proxy.example.com:8080
npm config set https-proxy http://proxy.example.com:8080To configure a CA file for NPM, execute the appropriate command for your operating system:
npm config set cafile "C:\Certificates\company-ca.pem"npm config set cafile "$HOME/certificates/company-ca.pem"If your organization provides an internal registry, configure it as directed by your administrator. The following commands demonstrate a default registry and a registry for the @interopio scope:
npm config set registry https://registry.example.com/
npm config set @interopio:registry https://registry.npmjs.org/Verify that the selected registry serves the required packages. HTTP 400 responses can also come from a proxy or registry policy, so inspect the NPM log before changing certificate settings.
For a temporary development diagnostic, NPM accepts npm install --strict-ssl=false. This disables certificate checking for that invocation. Restore normal verification and configure the CA file before continuing regular work.
ℹ️ For details on NPM proxy, registry, and CA settings, see the NPM configuration documentation.
Missing License
If a build fails with Packaging requires an active io.Connect Desktop license, the rest of the message states why the license was rejected. Provide a valid key in config/iocd.license.key or via IOCD_LICENSE_KEY. Ensure that the variable is available in the process executing the command.
Windows Signing Failures
Verify that signtool.exe is available on PATH, the certificate is valid, and its password is correct. Configure exactly one of "pfxPath" or "certificateSha1". If the command isn't found, install the Windows SDK or use an environment that includes its tools.
ℹ️ For details on certificates and signing Squirrel executables, see the Code Signing > Windows section.
macOS Notarization Failures
Use an app-specific Apple ID password, verify your Apple Developer Program membership, and check that "appleTeamId" identifies the correct team. Inspect the notarization output for the rejected file or signing issue.
ℹ️ For details on configuring credentials, see the Code Signing > macOS > Notarization section.
Platform Startup Failures
Run npm run setup, confirm that /components/iocd exists, and start required custom apps with npm run apps-dev. Check the CLI and platform logs for invalid configuration, unavailable app URLs, or license failures.
Component Download Failures
Check network connectivity and the "components.store" settings in config/iocd.cli.config.json. For a GitHub store, verify access to the configured repository. For a local store, verify the configured path and downloaded component files. Use the proxy and certificate guidance if the log reports network or TLS errors.