разрывы npm после обновления nodejs до 0.10

Я на 12.04LTS. Я обновил свою систему сегодня, и в этом процессе nodejs был обновлен. Теперь мой npm перестал работать. Например:

$ npm install express                     
npm http GET https://registry.npmjs.org/express
npm http 200 https://registry.npmjs.org/express
npm http GET https://registry.npmjs.org/express/-/express-3.1.0.tgz
npm http 200 https://registry.npmjs.org/express/-/express-3.1.0.tgz
npm ERR! cb() never called!
npm ERR! not ok code 0

Кто-нибудь сталкивается с той же проблемой и знает решение этой проблемы?

4
задан 15 March 2013 в 21:37

4 ответа

То, что вы видите, это ошибка , возникающая в определенных комбинациях версий узла 0.10 и npm до 1.2.15.

Как указывает Тодд, nodejs пакет Ubuntu по состоянию на 0.10 включает в себя npm. Однако, поскольку вы ранее установили npm «старый» способ, т. Е. Как и любой другой глобально установленный пакет npm, старая версия (в которой обнаружена ошибка) по-прежнему извлекается из вашего $PATH после обновления.

Используйте which npm, чтобы узнать, установлен ли у вас пакет из /usr/bin/npm. Если вы все еще получаете «старый», удалите его (это только символическая ссылка), и вы получите «новую» версию из пакета Ubuntu.

0
ответ дан 15 March 2013 в 21:37

Вы используете PPA Криса Ли? Это может быть полезно: https://chrislea.com/2013/03/15/upgrading-from-node-js-0-8-x-to-0-10-0-from-my-ppa/

Также следует отметить, что пакеты nodejs-dev и npm больше не существуют. Новый пакет nodejs содержит все, что использовалось в этих отдельных пакетах, потому что npm нужны все файлы разработки, и вы на самом деле не используете узел в наши дни, если вы не используете npm. Таким образом, мы решили, что просто упростили бы вещи с помощью единого пакета.

При обновлении будут удалены предыдущие версии, но apt может быть немного упрямым. Вместо обычного

sudo apt-get update
sudo apt-get upgrade

вы, вероятно, вместо этого захотите сделать что-то вроде

sudo apt-get update
sudo apt-get -y dist-upgrade
0
ответ дан 15 March 2013 в 21:37

Это сработало для меня. Удалите npm. Обновите вашу установку nodejs.

apt-get remove npm
apt-get install nodejs
0
ответ дан 15 March 2013 в 21:37

Хорошо. Эта проблема может быть решена путем удаления каталогов .npm и .node-gyp из домашней папки, а затем повторной установки nodejs. Я не уверен, является ли это полностью защищенным, но у меня это сработало :)

0
ответ дан 15 March 2013 в 21:37

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

Похожие вопросы: