Ошибка задач VSCode: /bin/bash: npm: команда не найдена

Я использую node и npm навсегда. Однако прямо сейчас, когда я делаю commandshiftp, Tasks: Run task, npm build, я получаю это сообщение об ошибке:

Executing task: npm install <

/bin/bash: npm: command not found The terminal process terminated with exit code: 127

Terminal will be reused by tasks, press any key to close it.

В терминале node и npm работают нормально. Я даже пробовал бегать /bin/bash;node -v, и это прекрасно работает.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
12
0
7 637
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Ответ принят как подходящий

Я нашел решение. Мне пришлось указать nvm версию узла по умолчанию, потому что я удалил версию до того, как у меня возникла эта ошибка. См. здесь: https://stackoverflow.com/a/34777308/1404347

Поскольку это первый результат в Google, я хочу поделиться своим решением, несмотря на то, что ему уже год. Проблема в том, что VS Code не инициализирует команду NPM и многие другие при использовании задач VS Code. Решение этой проблемы состоит в том, чтобы заставить VS Code сделать это.

Это очень просто сделать. Просто откройте settings.json и добавьте это:

{
  "terminal.integrated.shellArgs.linux": [
    "-i"
  ]
}

Я знаю, что этой ветке уже год, но это первый результат, который я нашел в Google при поиске, и хотя решение AskYous сработало для него, оно не для меня.

см. комментарии об изменениях, связанных с новыми версиями VSC (1.60.1+?)

Это работает для меня после настройки нового компьютера с Linux Mint. Я хотел бы знать, зачем мне это нужно на этом, но не на моем последнем компьютере с той же ОС. Я скопировал свои настройки VSCode, так что все должно быть одинаково.

Jack Steam 09.06.2020 16:25

Я столкнулся с этим в macOS и использовал описанное выше, чтобы исправить это, за исключением того, что я использовал terminal.integrated.shellArgs.osx вместо linux, и это сработало после перезапуска VSCode.

Joshua Dyck 23.12.2020 05:29

Превосходно. Решил точно такую ​​же проблему и для меня :)

mspoulsen 05.01.2021 23:40

Перешел с linux на osx, все получилось, спасибо!

Fabio Martins 07.02.2021 16:08

Это сработало для меня на свежей Ubuntu (20.04). К вашему сведению, еще раз подтверждаю, что предпочтения, связанные с этим, указаны в Preferences/Features/Terminal.

MarsAndBack 27.02.2021 19:53

Использование версии VSCode: 1.60.1 и terminal.integrated.shellArgs больше не является настройкой.

Jason Kuhrt 17.09.2021 17:31

Однако у меня сработало использование code.visualstudio.com/docs/editor/…, где можно установить аргументы.

Jason Kuhrt 17.09.2021 17:38

Здорово! Это сработало для меня, но любопытно узнать, зачем нужен -i

Premkumar chalmeti 20.10.2021 14:38

Привет, @VirxEC, можешь обновить фрагмент до этого: stackoverflow.com/a/70816845/1664811? Я пытался опубликовать комментарий, но в комментариях не отображаются многострочные фрагменты, а очередь редактирования вашего ответа заполнена.

AlenL 22.01.2022 21:25

У меня была та же проблема, хотя я использовал zsh и nvm, но если вы также получаете эту ошибку при запуске:

«Не удалось разрешить вашу оболочку в разумные сроки. Пожалуйста, проверьте конфигурацию вашей оболочки».

Тогда, возможно, это исправление подойдет и вам.

Для версий, где есть предупреждение для решения VirxEC, можно использовать

    "terminal.integrated.profiles.osx": {
        "zsh": {
            "path": "zsh",
            "args": [
                "-i"
            ]
        }
    },
    "terminal.integrated.defaultProfile.osx": "zsh",

от https://code.visualstudio.com/docs/editor/integrated-terminal#_terminal-profiles

Обновите ответ @VirxEC для более новых версий VSCode (1.60+?) Правильная настройка (измените фактический путь/имя оболочки по желанию):

  "terminal.integrated.profiles.linux": {
    "bash": {
      "path": "bash",
      "icon": "terminal-bash",
      "args": ["-i"]
    }
  },

Другие вопросы по теме