Skip to content

nwjs/npm-installer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

fd4d1d1 · Mar 29, 2025
Mar 29, 2025
Mar 29, 2025
Aug 18, 2024
Jun 23, 2024
Jan 10, 2025
Aug 7, 2024
Aug 7, 2024
Mar 29, 2025
Mar 29, 2025
Jan 1, 2025
Mar 28, 2025
Mar 29, 2025
Jun 23, 2024

Repository files navigation

nw

An npm installer for NW.js.

npm

Install

Please go through the CHANGELOG carefully and choose the appropriate version. Bug fixes and feature updates are pushed to the repo periodically.

Latest version globally

npm install -g nw

You might run into issues installing globally. Learn how to fix this

Latest version of normal build flavor:

npm install --save-dev nw

Specific version with changes to installer:

npm install --save-dev nw@0.94.1-1

You may use npm view nw versions to view the list of available versions.

For more options, see the Options table below.

Usage

Add a script in your package.json:

{
  "scripts": {
    "start": "nw /path/to/app"
  }
}

Executing npm start runs the NW.js app. Omitting the file path makes NW.js check for valid project in current working directory. You can also call nw directly from ./node_modules/.bin/nw.

APIs

Find path to the NW.js binary:

import { findpath } from 'nw';
let path = await findpath();

Find the path to the chromedriver binary

import { findpath } from 'nw';
let path = await findpath('chromedriver', { flavor: 'sdk' });

Download specific versions independant of installer version

import { get } from 'nw';

await get({
  version: '0.14.7'
  // other options
});

Options:

Name Type Default Description CLI Usage .npmrc Usage .env Usage Module Usage
version string | "latest" | "stable" "latest" Runtime version npm install --save-dev nw `` `` get({ version: "latest" })
flavor "normal" | "sdk" "normal" Runtime flavor npm install --save-dev nw@sdk nwjs_build_type=sdk export NWJS_BUILD_TYPE=sdk get({ flavor: "sdk" })
platform "linux" | "osx" | "win" <defaults to host platform> Host platform npm install --save-dev --nwjs-platform nw nwjs_platform=linux NWJS_PLATFORM=linux get({ platform: "linux" })
arch "ia32" | "x64" | "arm64" <defaults to architecture platform> Host architecture npm install --save-dev --nwjs-arch nw nwjs_arch=x64 NWJS_ARCH=x64 get({ arch: "x64"})
downloadUrl "https://dl.nwjs.io" | "https://npm.taobao.org/mirrors/nwjs" | https://npmmirror.com/mirrors/nwjs | "https://github.com/corwin-of-amber/nw.js/releases/ nw" "https://dl.nwjs.io" Download server (https and file system is supported, for eg file:///home/user/nwjs_cache) npm install --save-dev --nwjs-urlbase=https://dl.nwjs.io nwjs_urlbase=https://dl.nwjs.io NWJS_URLBASE=https://dl.nwjs.io get({ downloadUrl: "https://dl.nwjs.io"})
cacheDir string ./node_modules/nw Directory to cache NW binaries npm install --save-dev --nwjs-cache-dir ./cache nw nwjs_cache_dir=./cache NWJS_CACHE_DIR=./cache get({ cacheDir: "./cache" })
sirDir string . File path to NW.js project nw . `` `` get({ srcDir: "." })
cache boolean true If true the existing cache is used. Otherwise it removes and redownloads it. npm install --save-dev --nwjs-cache=true nw nwjs_cache=true NWJS_CACHE=true get({ cache: true })
ffmpeg boolean false If true the chromium ffmpeg is replaced by community version with proprietary codecs. npm install --save-dev --nwjs-ffmpeg=true nw nwjs_ffmpeg=true NWJS_FFMPEG=true get({ ffmpeg: true })
nodeAddon false | "gyp" false Download Node headers npm install --save-dev --nwjs-native-addon=true nw nwjs_native_addon=true NWJS_NATIVE_ADDON=true get({ nativeAddon: true })
unref boolean false Prevent the parent process from waiting for a given subprocess. This is useful if you're using nw package to call the executable and want to prevent zombie processes eating up memory. npm install --save-dev --nwjs-unref=true nw nwjs_unref=true NWJS_UNREF=true get({ unref: true })
shaSum boolean true If true, then shasums are verified. Otherwise, it is ignored. npm install --save-dev --nwjs-shasum=true nw nwjs_shasum=true NWJS_SHASUM=true get({ shaSum: true })

Note: While using the CLI interface, /path/to/project refers to options.srcDir in the JavaScript API or JSON object.

License

NW.js's code and this installer use the MIT license.