# Confusing about installing extensions in Jupyterlab 4.x

**URL:** <https://discourse.jupyter.org/t/confusing-about-installing-extensions-in-jupyterlab-4-x/24130>\
**Category:** JupyterLab\
**Tags:** how-to\
**Created:** [February 26, 2024, 12:27pm UTC](https://discourse.jupyter.org/t/confusing-about-installing-extensions-in-jupyterlab-4-x/24130 "2024-02-26T12:27:48Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![f1ynnj7](https://avatars.discourse-cdn.com/v4/letter/f/da6949/32.png) [@f1ynnj7](https://discourse.jupyter.org/u/f1ynnj7)\
**Post date:** [February 26, 2024, 12:27pm UTC](https://discourse.jupyter.org/t/confusing-about-installing-extensions-in-jupyterlab-4-x/24130/1 "2024-02-26T12:27:48Z")

</div>

I have searched the web to find how to install extension in Jupiter 4.x, now it’s 4.1.2.  
Lots of peoples said it need install Nodejs and npm first, but according to [Extensions — JupyterLab 4.1.2 documentation](https://jupyterlab.readthedocs.io/en/latest/user/extensions.html), user can directly install extensions in Jupyterlab by the extension manager.

So my question is, what’s the difference between installing extension in extension manager and via pip in terminal?

Question 2: does it need to install Nodejs and npm before installing extension like lsp in Jupiter 4.1.2?

Thank you guys!

---

<div class="post-metadata">

**Author:** ![krassowski](https://yyz1.discourse-cdn.com/flex031/user_avatar/discourse.jupyter.org/krassowski/32/1685_2.png) [@krassowski](https://discourse.jupyter.org/u/krassowski)\
**Post date:** [February 26, 2024, 4:54pm UTC](https://discourse.jupyter.org/t/confusing-about-installing-extensions-in-jupyterlab-4-x/24130/2 "2024-02-26T16:54:43Z")

</div>

> [@f1ynnj7](#):
>
> Lots of peoples said it need install Nodejs and npm first

This is very outdated advice, at this time plain wrong.

> what’s the difference between installing extension in extension manager and via pip in terminal?

The extension manager panel in JupyterLab 4+ uses `pip` under the hood, so none, except for small differences on how Python paths get resolved (which can lead to problems on brew installations of Python on MacOS).

> Question 2: does it need to install Nodejs and npm before installing extension like lsp in Jupiter 4.1.2?

No.

---

<div class="post-metadata">

**Author:** ![f1ynnj7](https://avatars.discourse-cdn.com/v4/letter/f/da6949/32.png) [@f1ynnj7](https://discourse.jupyter.org/u/f1ynnj7)\
**Post date:** [February 27, 2024, 11:43pm UTC](https://discourse.jupyter.org/t/confusing-about-installing-extensions-in-jupyterlab-4-x/24130/3 "2024-02-27T23:43:18Z")

</div>

Thank you for the detailed explanation. It’s quite clear. I have successfully installed Jupyter-lsp extension via the extension manager, but language servers seem to be installed only through pip. Any way, I have got lsp work.
