После установки $ npm появляется ошибка: не удается найти модуль '../lib/utils/unsupported.js'

Я только что вернулся к работе над проектом React после работы в среде Rails и обнаружил, что не могу запускать никакие команды NPM в своем терминале Mac. Я перепробовал все средства, с которыми сталкивался, но ни одно из них не помогло. Более серьезная проблема заключается в том, что вызвало это и как я могу избежать этого снова.

Вот ошибка. Что мне нужно сделать? Пожалуйста помоги.

$npm install            

internal/modules/cjs/loader.js:550
    throw err;
    ^

Error: Cannot find module '../lib/utils/unsupported.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:548:15)
    at Function.Module._load (internal/modules/cjs/loader.js:475:25)
    at Module.require (internal/modules/cjs/loader.js:598:17)
    at require (internal/modules/cjs/helpers.js:11:18)
    at /usr/local/lib/node_modules/npm/bin/npm-cli.js:19:21
    at Object.<anonymous> (/usr/local/lib/node_modules/npm/bin/npm-cli.js:92:3)
    at Module._compile (internal/modules/cjs/loader.js:654:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:665:10)
    at Module.load (internal/modules/cjs/loader.js:566:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:506:12)

Я пробовал следующее:

$brew update
$brew uninstall node
$brew install node

После чего появляются следующие команды, когда раньше $ which npm была неизвестной командой:

$which npm
/usr/local/bin/npm

$which node
/usr/local/bin/node

Я даже пробовал запустить:

/usr/local/bin/npm -v

но получите ту же ошибку, что и выше, пока

/usr/local/bin/node -v
v9.11.1

работает отлично.

добавил следующее в мой файл .zshrc:

export PATH=/usr/local/bin/node:$PATH
export PATH=/usr/local/bin/npm:$PATH

Я также пробовал:

$brew uninstall --force node
$brew link --overwrite node 
Warning: Already linked: /usr/local/Cellar/node/9.11.1
To relink: brew unlink node && brew link node

$rm -rf /usr/local/lib/node_modules/npm    

тогда,

$node install

но это тоже не работает.

$echo $NODE_PATH

действительно появляется пустым, поэтому мне может потребоваться добавить следующее в мой .bashrc.

export PATH = "/usr/local/bin/npm:/usr/local/bin/node:/usr/local/bin:$PATH" 

Это тоже не работает.

у вас есть require('../lib/utils/unsupported.js') где-то в вашем коде?

Bryan Chen 06.04.2018 07:13

Нет, у меня нет ссылки на unsupported.js. Команды NPM не работают ни с одним проектом или каталогом.

bigmugcup 06.04.2018 07:22

Похоже, мне удалось решить проблему, загрузив и установив Node из nodejs.org. Сделал ли узел $ brew uninstall --ignore-dependencies, затем загрузил и установил его с nodejs.org. Понятия не имею, почему установка brew Node и NPM перестала работать. Если у кого-то есть идеи, дайте мне знать.

bigmugcup 06.04.2018 07:41

Связанная проблема: github.com/nodejs/node/issues/19997

k06a 13.04.2018 08:23

Ни один из нижеприведенных ответов не устранил мою проблему.

Zeth 28.12.2018 10:18
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
30
5
50 613
12
Перейти к ответу Данный вопрос помечен как решенный

Ответы 12

У меня такая же ошибка была после brew upgrade на mac. Я сделал brew postinstall node, и это исправило.

Попробуйте это: https://gist.github.com/DanHerbert/9520689

«Если вы являетесь пользователем Homebrew и установили узел через Homebrew, существует серьезная философская проблема, связанная с тем, как Homebrew и NPM работают вместе».

Престижность Дэну Герберту за решение.

Его предложение --without-npm у меня не сработало. Это недопустимый вариант

tettoffensive 27.02.2019 18:06
Ответ принят как подходящий
  1. Удалить узел brew uninstall --force node
  2. Удалите папку /usr/local/lib/node_modules
  3. Установите снова brew install node

то же самое для меня, НО мне пришлось избавиться от файлов модулей, присутствующих в "/ usr / local / lib / node_modules /" перед переустановкой.

Orsius 06.02.2019 10:50

работал и у меня, но только после удаления /usr/local/lib/node_modules

yevg 05.11.2019 01:41

То же самое здесь, только после удаления папки /usr/local/lib/node_modules. @ Лукас Лопес, может быть, обновите свой ответ, чтобы добавить это?

Ioanna 19.11.2019 06:58

мне пришлось удалить только /usr/local/lib/node_modules/npm, а не всю папку /usr/local/lib/node_modules

Zorox 22.02.2020 00:25

Сначала следует установить команду brew: sudo apt install linuxbrew-wrapper После выполнения команды 1. uninstall node удалите папку с помощью этой команды: sudo rm -r / usr / local / lib / node_modules. наконец запустите 3 и нажмите Enter

Dilshan Dilip 23.02.2020 18:55

вау, это сработало, ты

Jeremy Bader 17.12.2020 07:25

У меня возникла проблема после обновления моего Mac. Я пробовал разные решения, доступные при переполнении стека, и у меня ничего не работает.

This solution works for me.

  1. Удалить узел все версии brew uninstall --force node
  2. Установите его еще раз с этого brew install node

Во-первых, удалите все версии узлов, если они доступны.

Сделанный. Наслаждайтесь кодированием.

Предположим, что это происходит на MacOS, решение ниже работает для меня.

  1. brew uninstall --force узел
  2. Посетите https://nodejs.org/en/ и загрузите версию LTS и установите, ошибка исчезла

Извините, но в моем случае я получаю ту же ошибку, потому что мой index.js находится внутри папки de src, убедитесь, что вы находитесь в каталоге seme вашего index.js для запуска

Удалить все файлы из следующей папки

A) C: \ Users \\ AppData \ Roaming \ npm

Б) C: \ Users \\ AppData \ Roaming \ npm-cache

и снова install node

затем выполните команду "npm install -g @angular/cli"

Никто из других ответивших не решил мою проблему. После переустановки Node я все еще получал ту же ошибку (даже когда я просто написал npm -v).

Я следил за этот ответ здесь (удаление все, называемого node и npm), который решил эту проблему для меня.

Это случилось со мной после установки пряжи.

в терминале:

brew uninstall --force --ignore-dependencies node
brew install node

если у вас возникли проблемы с символической ссылкой на узел, в том же терминале:

sudo chown -R `whoami`:admin /usr/local/include
sudo chown -R `whoami`:admin /usr/local/bin
sudo chown -R `whoami`:admin /usr/local/share
sudo chown -R `whoami`:admin /usr/local/lib
brew link --overwrite node

Убедитесь, что ваша переустановка прошла успешно, набрав в терминале следующее:

node -v

В моем случае решением проблемы была переустановка узла с помощью официального установщика от https://nodejs.org (Mac OS).

Решение:

  1. Загрузите установщик узла с https://nodejs.org
  2. Установите это

P.S. Проблема возникла после установки пряжи.

В моем случае это произошло после того, как я выполнил очистку всех папок node_modules на всей машине. У меня был узел, установленный с NVM, и я начал получать эту ошибку, независимо от того, какое действие, связанное с узлом, я хотел запустить:

Error: Cannot find module '../lib/utils/unsupported.js'

Я решил это, выполнив следующие действия:

  1. Перезагрузил мой компьютер
  2. Неустановленный nvm
  3. Установлена ​​другая версия узла

Еще одно предложение после их попытки, которое, наконец, сработало для меня, заключалось в простом обновлении моего узла, загрузив последнюю версию с помощью установщика загрузки и пакета отсюда:

https://nodejs.org/en/download/

Прежде чем сделать это, попытка запустить любую команду npm дала мне ту же ошибку, что и в вопросе OP

После этого у меня начали работать команды npm.

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