Терминал VS Code не может использовать версию npm от nvm - PullRequest
0 голосов
/ 29 мая 2018

Я использую nvm на своем терминале и успешно установил узел 10.2.1, который также установил npm 6.1.0.Однако, когда я захожу в редактор VS Code, он выдает мне предупреждения во встроенном терминале для:

npm WARN npm npm does not support Node.js v10.2.1
npm WARN npm You should probably upgrade to a newer version of node as we
npm WARN npm can't make any promises that npm will work with this version.
npm WARN npm Supported releases of Node.js are the latest release of 4,6, 7, 8, 9.

Оказывается, на самом деле он использует npm 5.5.1 (npm -v).

Я проверяю, что с этим случилось, и пытался копать дальше и, в конце концов, использовал: which npm как на интегрированном терминале, так и на CLI Mac.

Терминал Mac показывает: /Users/Aiz/.nvm/versions/node/v10.2.1/bin/npm

VS Терминал кода показывает: /usr/local/bin/npm.Что интересно, потому что если вы выполните which node в этом терминале, это приведет к соответствующему /Users/Aiz/.nvm/versions/node/v10.2.1/bin/node.

Я не уверен, как заставить мой терминал VS Code указывать на соответствующую установку npm черезNVM.Не уверен, поможет ли это, но я проверил npm get prefix и npm -g bin, чтобы найти /Users/Aiz/.nvm/versions/node/v10.2.1.Единственное различие, которое я нахожу, заключается в том, где каждый терминал использует npm.

Ответы [ 2 ]

0 голосов
/ 12 декабря 2018

Другое решение заключается в реализации этого.https://medium.com/@kinduff/automatic-version-switch-for-nvm-ff9e00ae67f3

По сути, nvm будет проверять наличие .nvmrc и переключаться или задавать значения по умолчанию каждый раз, когда вы переходите в новый каталог в оболочке.

Он зависит от zsh.

0 голосов
/ 29 мая 2018

В итоге я просмотрел проблемы с кодом VS на GitHub и наткнулся на что-то, связанное с проблемами с NVM и узлами.Это устранило мою проблему, поскольку основная причина была той же.

По сути, произошло то, что я имел глобальную установку узла, которую я удалил до использования NVM, но не удалил мою глобальную установку npm.Это вызывало конфликты в терминале VS Code (не в терминале Mac).Чтобы это исправить, вам необходимо найти символическую ссылку для which npm и рекурсивно удалить связанные с ним node_modules и npm.

Вот ссылка, которая вам понадобится: https://github.com/Microsoft/vscode-docs/blob/master/docs/editor/integrated-terminal.md#why-is-nvm-complaining-about-a-prefix-option-when-the-integrated-terminal-is-launched.

Не забудьте перезапустить редактор после.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...