Подтвердить что ты не робот

Npm не работает, всегда получайте эту ошибку → Ошибка: не удается найти модуль 'are-we-there-yet'

Я попытался установить grunt на mac с Yosemite. node уже установлен в новейшей версии. если я нахожу "node -v" в терминале, я получаю строку v0.12.5. это хорошо. но когда я хочу что-то установить с npm, я получаю только ошибку...

Я попробовал "sudo npm install -g grunt-cli", "sudo npm install npm -g", а также с "npm -v", я всегда получаю эту ошибку...

Error: Cannot find module 'are-we-there-yet'
at Function.Module._resolveFilename (module.js:336:15)
at Function.Module._load (module.js:278:25)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object.<anonymous> (/usr/local/Cellar/node/0.10.22/lib/node_modules/npm/node_modules/npmlog/log.js:2:16)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)

кто-нибудь знает, в чем проблема или лучше решение?

4b9b3361

Ответ 1

Вы нарушили npm, удалив некоторые из его зависимостей.

are-we-there-yet является зависимостью npmlog, которая является самой зависимой от npm, и вы как-то ее удалили. Обычным простым решением для таких случаев является переустановка пакета, но это не работает, если npm не может работать. К счастью, npm tarball поставляется с зависимостями и, следовательно, установка npm с нуля так же просто, как распаковка tarball.

1) Перейдите в глобальный каталог node_modules (что бы npm root -g напечатать, если вы могли его запустить):

$ cd /usr/local/lib/node_modules

2) Удалите сломанную директорию npm или переместите ее где-нибудь в другом месте (обратите внимание, что вам может потребоваться поднять права для этого и следующие шаги):

$ mv npm /tmp

3) Загрузите и распакуйте свежий npm из реестра (замените версию, которую вы хотите установить, например 3.10.8):

$ curl -L registry.npmjs.com/npm/-/npm-{VERSION}.tgz | tar xz --transform="s:^package:npm:"

Вы можете автоматизировать некоторые из них с помощью этой установки script:

$ curl -L https://www.npmjs.com/install.sh | sh

В этот момент npm должен снова работать.

Ответ 2

Перейдите в глобальный каталог node_modules (npm root -g, если вы не знаете)

$ cd /usr/local/lib/node_modules

curl -L https://www.npmjs.com/install.sh | sh

Ответ 3

Я пытаюсь лихорадочно добраться до последней версии node и npm на моем компьютере centos 7.

К сожалению, с этой ошибкой я пробовал почти неделю. И я наконец нашел решение, которое работает.

Если ваш npm в настоящее время сломан, проще всего просто установить рабочую версию.

Я установил из кода. Предполагая, что git установлен, следующие команды выполнит эту цель

cd ~
git clone https://github.com/nodejs/node.git nodejs_code
cd nodejs_code
./configure
make
make install

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

Установленная версия node на момент написания этой версии была 5.0.0-pre, которая для меня слишком новая, и npm была версией 2.14.4, которая для меня слишком старческая.

Чтобы перейти к последней версии на node, я установлю пакет 'n', используя npm. Используя n, я установлю последнюю версию node.

npm install -g n
n stable

В случае пользователя root (который я использую для установки глобальных пакетов) мне нужно добавить следующую строку в мой файл ~/.bashrc, который позволит корневому пользователю получить доступ к командам в /usr/local/bin. (Вам может не понадобиться этот шаг)

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

В этот момент моя версия node равна 4.0.0, которая является последней стабильной версией node.

теперь обновить npm, что было самым неприятным в истории.

Обновление непосредственно к самой новой версии всегда приводило к "есть-мы-там-все же", о которых я мог только предположить: "НЕТ, и Quit Asking, или я включу этот node вокруг"

Вместо этого я обнаружил, что сначала установка версии 3.3.3 решит эту проблему.

npm install -g [email protected]

теперь установлена ​​версия 3.3.3 и работает без ошибки "are-we-there-yet".

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

npm install -g npm

и с этой последней командой я смог использовать последнюю версию npm с последней стабильной версией node. Который на момент написания это 3.3.5

Далее, мои команды следующие.

n stable
npm install -g npm

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

Примечание

Поскольку я модерирую несколько серверов, ни один из которых не поставляется с node по умолчанию, мне приходится выполнять эту задачу снова и снова.

Поэтому я взял на себя обязательство превратить эти инструкции в script.

Наслаждайтесь:

importnode.sh

#!/bin/bash

cd ~
git clone https://github.com/nodejs/node.git nodejs_code
cd nodejs_code
git reset --hard
git pull origin master
./configure
make
make install

if [[ `cat ~/.bashrc |grep -E "PATH.*/usr/local/bin:.*"` ]];
then
    echo "Already Done";
else
    echo "export PATH=/usr/local/bin:\$PATH" >> ~/.bashrc;
    export PATH=/usr/local/bin:$PATH;
fi;

npm install -g n
n stable

npm install -g [email protected]

npm install -g npm

Единственное, что осталось сделать после добавления в nodeimport.sh, это сделать его исполняемым и выполнить.

$ chmod +x importnode.sh
$ ./importnode.sh

Подождите, и все будет установлено.

Ответ 4

Что сказал eush77, но если вы в Windows:

загрузить последний пакет из https://nodejs.org/download/release/npm/

распаковать и заменить каталог "npm" в каталоге nodejs node -modules (по умолчанию C:\Program Files\nodejs\ node_modules)

Ответ 5

Я выполнил приведенные выше инструкции (что сказал eush77), чтобы удалить папку npm в папке node_modules. Но в результате этого сообщения об ошибке остается неработающая ссылка.

/usr/local/bin/npm: нет такого файла или каталога

так что удалите неработающую ссылку:

rm /usr/local/bin/npm

а затем укажите его в нужное место:

sudo ln -s /usr/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm

Ответ 6

Вы также можете переустановить node из https://nodejs.org/en/download/current/

Ответ 7

Для меня это связано с повреждением установок и, возможно, репозиториев ubuntu, которые не являются совместимыми или последними. Ниже приведена рабочая версия npm/ node:

sudo curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash - sudo apt-get install -y nodejs

https://github.com/nodesource/distributions

Ответ 8

Я получил его reset с помощью официального пакета установки: https://nodejs.org/en/

Игра с n и nvm в конечном итоге повредила пакеты node_modules для меня, предоставив пакеты, несовместимые с текущей версией Node.

Я подозреваю, что он будет работать в других средах, поскольку он соединяет как Node, так и npm install.

Ответ 9

Даже у меня была такая же проблема. Самый простой способ решить ниже шаги работал у меня.

1) удалите Nodejs.

2) Перейдите к C:/User/AppData/Roaming.

3) Удалите каталог npm.

4) Переустановите Nodejs (последняя версия v6.11.3, включает npm 3.10.10).

5) Готово Теперь попробуйте проверить (npm -v) будет нормально работать.