function installCmd (cwd, argv) {
	const isExplicit = argv._.length - 1
	const updatedPkgJSONs = isExplicit ? fromArgv(cwd, argv) : fromFs(cwd)
	const isProd = argv.production

	const nodeModules = path.join(cwd, 'node_modules')

	const resolvedAll = updatedPkgJSONs
		::map((pkgJson) => ({pkgJson, target: '..', isProd}))
		::resolveAll(nodeModules, undefined, isExplicit)::skip(1)
		::publishReplay().refCount()

	const initialized = initCache()::ignoreElements()
	const linkedAll = resolvedAll::linkAll()
	const fetchedAll = resolvedAll::fetchAll(nodeModules)
	const installedAll = mergeStatic(linkedAll, fetchedAll)

	const builtAll = argv.build
		? resolvedAll::buildAll(nodeModules)
		: EmptyObservable.create()

	const saved = (argv.save || argv['save-dev'] || argv['save-optional'])
		? updatedPkgJSONs::save(cwd)
		: EmptyObservable.create()

	return concatStatic(initialized, installedAll, saved, builtAll)
}
run the installation command.
@param  {String} cwd - current working directory (absolute path).
@param  {Object} argv - parsed command line arguments.
@return {Observable} - an observable sequence that will be completed once
the installation is complete.