npm устанавливается с использованием nvm, но IntelliJ не знает об этом

Я установил NPM с помощью NVM.

Когда я использую npm в терминале Intellij, он говорит, что у меня не установлен NPM. Но если я использую терминал Ubuntu, он работает.

Вот что я пробовал:

Я уже пытался установить свой интерпретатор узла (в «Язык и структура»> «Узел и NPM» установите значение ~/.nvm/versions/node/v6.8.0/bin/node).

Я также уже включил базовую библиотеку Node.js. Там показано, что пакет npm включен.

Но терминал IntelliJ все еще жалуется, что я не установил npm. Почему?


person Raymond Pang    schedule 25.10.2016    source источник


Ответы (10)


Это связано с тем, что по умолчанию терминал idea запускает оболочку входа в систему, поэтому файл .bashrc не читается.

Решить проблему:

Откройте «Настройки» в IntelliJ. Затем разверните «Инструменты» на левой панели, затем нажмите «Терминал».

Добавьте -i в путь к оболочке. (например, / bin / bash -i)

person Raymond Pang    schedule 03.12.2016
comment
Работает ли это с более новыми версиями IntelliJ IDEA? - person lealceldeiro; 21.01.2020

Это исправило это для меня:

NVM исправляет переменные среды только при запуске терминала. Если IDE запускается из терминала, она наследует среду терминала (включая измененную переменную среды PATH, добавленную переменную env NVM_DIR и т. Д.). В этом случае обычно нет проблем с использованием node / npm, потому что Idea видит правильное значение PATH. Для bash в качестве оболочки обходной путь может быть следующим: отредактируйте программу запуска Idea и установите команду в / bin / bash -l -c /path/to/idea.sh. Эта команда выполнит вход в систему bash (т.е.читает ваши файлы .bashrc / .bash_profile) и после этого запустит идею

https://intellij-support.jetbrains.com/hc/en-us/community/posts/205964744/comments/205060164

Просто отредактируйте скрипт запуска / запуска Intellij и измените его на /bin/bash -i -c <path to idea.sh>

person Tim    schedule 08.03.2017
comment
Как найти путь к ide.sh? - person jsh6303; 03.02.2020
comment
Проверьте свойства ярлыка вашей пусковой установки. Вы найдете средство запуска в /usr/share/applications (для глобальной установки) или ~/.local/share/applications (для локальной установки). - person Geoff Davids; 23.11.2020

Я работаю в Ubuntu, и у меня возникла та же проблема, что и невозможность запустить узел из терминала IntelliJ Idea или возможность запускать задачи gradle, которые запускают процесс, связанный с nvm.

Некоторые из существующих ответов исправили это для меня при использовании терминала в Idea, но выполнение задач gradle по-прежнему не работало. Запуск его с помощью bash -l -c ... в другом месте тоже не сработал.

Первоначально решил это, создав стартовый скрипт, который делает то же самое, что и nvm, а затем выполнил bash -l -c ... и это сработало, но обнаружил (после этого), что -i, как указано выше, также работает и проще ... Итак, моя строка входа .desktop exec теперь:

Exec=/bin/bash -i -c /opt/intellij/idea-IU/bin/idea.sh "%f"

Просто упомянув об этом здесь, поскольку принятое решение не работает для запуска задач gradle, связанных с nvm, из Idea.

person cfnz    schedule 02.02.2019

Добавление интерпретатора узла nvm сработало для меня:

Настройки - ›Языки и фреймворки -› Node.js и NPM - ›Интерпретатор узлов

Выбрал ~/.nvm/current/bin/node. Если он не отображается в выборе интерпретатора, щелкните ... и добавьте его как новый путь.

person Jörn Brett    schedule 20.11.2020

ln -s "$(which node)" /usr/local/bin/node

Команда создаст символическую ссылку из установленной вами текущей версии узла. Если файл / usr / local / bin / node уже существует, удалите его, поскольку это может быть неработающая ссылка.

Также измените конфигурацию редактирования из любой версии проекта, которую вы хотите подключить к узлу (это будет ссылка, созданная с помощью указанной выше команды)  Изменить конфигурации

person Tudor    schedule 21.03.2021
comment
просто и работает, спасибо брат. Молодец! - person Alauddin Afif Cassandra; 28.03.2021
comment
Спасибо, я боролся с этой проблемой в течение нескольких недель. - person Simon; 28.04.2021

помогает, если вы запускаете IntelliJ от имени администратора? В Windows это решает многие проблемы, которые у меня были при настройке Node, Bower и Git.

person westworld.be    schedule 25.10.2016
comment
К сожалению, это не работает. Я сделал gksudo -k -u root /opt/idea-IU-162.2032.8/bin/idea.sh% f, чтобы запустить IntellIjJ от имени root, и я попробовал node --version внутри, но он по-прежнему ничего не показывает. В любом случае спасибо за вашу помощь. - person Raymond Pang; 03.11.2016

Проблема в том, что ваша среда (среды) отличается от запущенной intellij и какой сеанс bash вы запустили nvm <command (install/use)>. Обычно рекомендуется добавить эту строку, которую nvm рекомендует добавить в ваш ~/.bashrc, который будет экспортировать необходимые переменные среды в каждый из ваших сеансов bash. Если вы можете запустить node --version из bash и он печатает v6.8.0, ваша среда правильная, вам просто нужно запустить intellij из этого контекста, лично я не поклонник IDE, поэтому я не знаю точно, но я представляю intellij может быть запущен из командной строки.

person Christian Grabowski    schedule 26.10.2016
comment
Если вы имеете в виду эту строку кода, экспортируйте NVM_DIR = $ HOME / .nvm [-s $ NVM_DIR / nvm.sh] &&. $ NVM_DIR / nvm.sh, он уже добавлен, и я сделал исходный файл ~ / .bashrc, но он выводит версию v4.2.6 из / usr / bin / node --version вместо версии v6.8.0, установленной с nvm, это означает, что это не решает проблему - person Raymond Pang; 03.11.2016
comment
@RaymondPang хорошо, тогда вам, вероятно, просто нужно запустить intellij из командной строки, чтобы эти переменные среды находились в среде intellij. - person Christian Grabowski; 03.11.2016
comment
@RaymondPang Кристиан прав, ваша проблема в том, что переменные env NVM не передаются в intellij, потому что они не являются дочерним процессом bash. Подробнее см. linuxcourse.rutgers.edu/rute/node12.html в разделе 9.9. - person ; 03.11.2016
comment
@Christian Grabowski Я набрал /opt/idea-IU-162.2032.8/bin/idea.sh в Терминале, чтобы запустить intelliJ. Это именно то, что вы имеете в виду под запуском из командной строки? После этого я все еще не могу получить ту же переменную среды и узел в intelliJ. - person Raymond Pang; 05.11.2016

У меня была такая же проблема, и я исправил ее, указав на /usr/local/bin/bash вместо /bin/bash

person Wildhammer    schedule 27.04.2020

У меня была такая же проблема в mac OS catalina, я исправил ее, обновив путь к оболочке до / bin / zsh в настройках - ›Инструменты -› Терминал - ›Настройки приложения.

person sirisha muvva    schedule 19.09.2020

В Windows это работает для меня ...  введите описание изображения здесь

person HeyMan    schedule 22.05.2021