Запуск npm install .nvmrc заполняется случайной версией узла - PullRequest
0 голосов
/ 14 октября 2019

Запуск npm install из моего проекта создает файл .nvmrc в . / Node_modules / sockjs-client / .nvmrc , который указывает на 6.14.2 . Некоторая информация о моей локальной установке:

  • nvm --version: 0.34.0
  • npm --version: 6.4.1
  • node --version: v11.3.0
  • nvm ls

    -> v11.3.0
    v12.10.0
    по умолчанию системы -> 11.3.0 (-> v11.3.0)
    узел -> стабильный (-> v12.10.0) (по умолчанию)
    стабильный -> 12.10 (-> v12.10.0) (по умолчанию)
    iojs -> н / д (по умолчанию)
    нестабильный -> н / д(по умолчанию)
    лтс / * -> лтс / дубний (-> н / д)
    лтс / аргон -> v4.9.1 (-> н / д)
    лтс / бор -> v6.17.1(-> Н / Д)
    лт / углерод -> v8.16.1 (-> Н / Д)
    л / дубний -> v10.16.3 (-> Н / Д)

Проблема касается моих хаски-хитов и заключается в следующем: когда я пытаюсь выполнить коммит из командной строки, у меня нет никаких проблем вообще. Версия узла надлежащим образом идентифицирована, и я могу успешно выполнить фиксацию.

Из других сред пользовательского интерфейса (IntelliJ, SmartGit) ловушки git перестают работать со следующим:

0 files committed, 1 file failed to commit: lasfasdf husky > pre-commit (node v8.11.4) lint-staged requires at least version 8.12.0 of Node, please upgrade husky > pre-commit hook failed (add --no-verify to bypass)

Когда я удаляю *Папка 1043 * и файл .nvmrc, включенные в подпапку, я могу снова успешно зафиксировать через IntelliJ и SmartGit. Моя конфигурация IntelliJ для узла выглядит следующим образом: enter image description here

Моя гипотеза заключается в том, что IntelliJ и SmartGit используют версию nvm, указанную в этом ошибочно заполненном файле .nvmrc. Я не очень хорошо знаком с управлением версиями узлов - или с самим узлом, по сути, - поэтому я мог бы спросить следующее, чтобы обосновать это несоответствие:

  • Каков файл .nvmrcсоздан? На каком этапе и что определяет его содержимое?
  • Есть ли какой-то другой способ идентифицировать все доступные версии узлов на моей машине, кроме nvm ls - Мне интересно, не изменит ли какая-либо устаревшая версия узла популяцию * 1058? * с этой очень старой 6.14.2 версией.

РЕДАКТИРОВАТЬ: Это список моих интерпретаторов Node enter image description here

Это содержимое моего PATH, поскольку это разрешено в IntelliJ

PATH=/home/username/.npm-global/bin:/home/username/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Я запускаю это в Ubuntu 18.10

1 Ответ

0 голосов
/ 18 октября 2019

IntelliJ не создает никаких файлов .nvmrc. Какая у вас ОС?

Я бы порекомендовал вам проверить переменную среды PATH в IDE:

  • Открыть "Настройки | Инструменты | Терминал"
  • Открыть "Переменные среды""dialog
  • Найти PATH в списке унаследованных системных переменных среды. Как будет определен какой узел в соответствии с ним?

Тогда, пожалуйста,

  • Откройте «Настройки | Языки и рамки | Node.js и NPM»

  • Разверните раскрывающийся список «Интерпретаторы Node.js» и приложите к нему скриншот.

...