Cannot find module 'rxjs-compat/Observable' error

avatar

Borislav Hadzhiev

Last updated: Aug 25, 2022

banner

Photo from Unsplash

Cannot find module 'rxjs-compat/Observable' error #

To solve the error "Cannot find module 'rxjs-compat/Observable'", make sure to install the package by opening your terminal in your project's root directory and running the following command: npm i rxjs and restart your IDE and development server.

cannot find module rxjs compat

Open your terminal in your project's root directory (where your package.json file is located) and run the following command:

shell
npm install rxjs

Make sure you are importing directly from the rxjs package and NOT from rxjs-compat.

index.ts
import {range, Observable} from 'rxjs'; import {map, filter} from 'rxjs/operators'; range(1, 50) .pipe( filter(x => x % 2 === 1), map(x => x + x), ) .subscribe(x => console.log(x)); const observable = new Observable(subscriber => { subscriber.next(1); subscriber.next(2); subscriber.next(3); setTimeout(() => { subscriber.next(4); subscriber.complete(); }, 1000); });
The documentation recommends that we import the Observable creation methods directly from rxjs, like with range in the code snippet above.

You can import any operator you need from rxjs/operators.

If the error is not resolved, try to delete your node_modules and package-lock.json (not package.json) files, re-run npm install and restart your IDE.

shell
# 👇️ delete node_modules and package-lock.json rm -rf node_modules rm -f package-lock.json # 👇️ clean npm cache npm cache clean --force npm install
Make sure to restart your IDE and dev server if the error persists. VSCode often glitches and needs a reboot.

If the error persists, try to update the versions of your NPM packages by running the following command:

shell
npm update

If that didn't help, open your package.json file and make sure it contains the rxjs package in the dependencies object.

package.json
{ // ... rest "dependencies": { "rxjs": "^7.5.5", } }

You can try to manually add the line and re-run npm install.

shell
npm install

Or install the latest version of the package:

shell
npm install rxjs@latest

The rxjs module should NOT be globally installed or be in your project's devDependencies, it should be in the dependencies object in your package.json file.

If you use VSCode, make sure to open your code editor in the root directory of your project (where the package.json file is located).

If you open your IDE in a different directory, e.g. one directory up, the error is caused.

Conclusion #

To solve the error "Cannot find module 'rxjs-compat/Observable'", make sure to install the package by opening your terminal in your project's root directory and running the following command: npm i rxjs and restart your IDE and development server.

I wrote a book in which I share everything I know about how to become a better, more efficient programmer.
book cover
You can use the search field on my Home Page to filter through all of my articles.