# Instalación

A continuación se muestran las distintas formas de instalar RxJS:

## ES6 vía npm

```javascript
npm install rxjs
```

Para importar el conjunto de funciones principales al completo:

```javascript
import * as rxjs from "rxjs";

rxjs.of(1, 2, 3);
```

Para importar únicamente lo que necesitemos, utilizando operadores de tubería:

```javascript
import { of } from "rxjs";
import { map } from "rxjs/operators";

of(1, 2, 3).pipe(map((x) => x + "!!!")); // etc
```

* Ver la sección [Operadores de Tubería](https://github.com/puntotech/rxjs-docu/blob/master/version-6/operadores-tuberia/README.md) para más información acerca de operadores de tubería.

Para utilizar con el *bundle* importado de forma global:

```javascript
const { of } = rxjs;
const { map } = rxjs.operators;

of(1, 2, 3).pipe(map((x) => x + "!!!")); // etc
```

## CommonJS vía npm

Si nos aparece un error como *error TS2304: Cannot find name 'Promise'* o *error TS2304: Cannot find name 'Iterable'* al utilizar RxJS, es posible que tengamos que instalar un conjunto de tipos adicional.

1. Para usuarios de *typings*:

```javascript
typings install es6-shim --ambient
```

1. Si no utilizamos *typings*, las interfaces se pueden copiar de */es6-shim/es6-shim.d.ts*.
2. Añadimos el fichero de definición de tipos incluido en el `tsconfig.json` o en el argumento del CLI.

## Todos los demás tipos de Módulos (CJS/ES6/AMD/TypeScript) vía npm

Para instalar esta biblioteca vía npm versión 3, se utiliza el siguiente comando:

```javascript
npm install #reactivex/rxjs
```

Si se utiliza la versión 2 de npm antes de que esta biblioteca haya alcanzado una versión estable, será necesario especificar la versión de la biblioteca de forma explícita:

```javascript
npm install @reactivex/rxjs@5.0.0-beta.1
```

## CDN

Para CDN, se puede utilizar \[unpkg]. Únicamente hay que reemplazar la palabra clave `version` de los siguientes enlaces con la versión actual de RxJS:

Para RxJS 5.0.0-beta.1 hasta beta.11: <https://unpkg.com/@reactivex/rxjs@version/dist/global/Rx.umd.js>

For RxJS 5.0.0-beta.12 y versiones posteriores: <https://unpkg.com/@reactivex/rxjs@version/dist/global/Rx.js>

For RxJS 6.0.0 y versiones posteriores: <https://unpkg.com/@reactivex/rxjs@version/dist/global/rxjs.umd.js>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://www.rxjs.es/guias/installation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
