«Сообщение не удалось получить из реестра» при попытке установить какой-либо модуль

Я не могу установить ни один модуль узла из npm.

npm install socket.io

Приведенная выше команда привела к выводу ниже, она не может установить socket.io

npm http GET https://registry.npmjs.org/socket.io

npm ERR! Error: failed to fetch from registry: socket.io
npm ERR!     at /opt/node0610/lib/node_modules/npm/lib/utils/npm-registry-client/get.js:139:12
npm ERR!     at cb (/opt/node0610/lib/node_modules/npm/lib/utils/npm-registry-client/request.js:32:9)
npm ERR!     at Request._callback (/opt/node0610/lib/node_modules/npm/lib/utils/npm-registry-client/request.js:137:18)
npm ERR!     at Request.callback (/opt/node0610/lib/node_modules/npm/node_modules/request/main.js:109:22)
npm ERR!     at Request.<anonymous> (/opt/node0610/lib/node_modules/npm/node_modules/request/main.js:198:58)
npm ERR!     at Request.emit (events.js:88:20)
npm ERR!     at ClientRequest.<anonymous> (/opt/node0610/lib/node_modules/npm/node_modules/request/main.js:195:10)
npm ERR!     at ClientRequest.emit (events.js:67:17)
npm ERR!     at CleartextStream.<anonymous> (http.js:1134:11)
npm ERR!     at CleartextStream.emit (events.js:67:17)
npm ERR! You may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <[email protected]>
npm ERR! 
npm ERR! System Linux 2.6.18-194.el5
npm ERR! command "node" "/opt/node0610/bin/npm" "install" "socket.io"
npm ERR! cwd /opt/node0610/lib/node_modules
npm ERR! node -v v0.6.10
npm ERR! npm -v 1.1.0-3
npm ERR! message failed to fetch from registry: socket.io
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /opt/node0610/lib/node_modules/npm-debug.log
npm not ok

Моя версия NPM:

[[email protected] node_modules]$ npm --version
1.1.0-3

Моя версия NodeJS:

[[email protected] node_modules]$ node --version
v0.6.10
 JohnnyHK16 окт. 2012 г., 14:53
Вам также не нужно обновлять nodejs, но я бы порекомендовал его, если вы по какой-то причине не привязаны к версии 6.x.
 Dexter16 окт. 2012 г., 14:51
johny спасибо за ваш комментарий, на самом деле, если мне нужно обновить npm, я должен также обновить nodejs
 JohnnyHK16 окт. 2012 г., 14:27
Это довольно старыйnpm версия. Обновите его до последней версии и попробуйте снова:sudo npm update npm -g
 Mark03 февр. 2014 г., 23:43
HTTP работает; HTTPS нет, потому что registry.npmjs.org не слушает HTTPS.
 Alex Lokk27 февр. 2014 г., 12:06
Я обычно скачиваю и компилирую последнюю версию nodejs изофициальный сайт, Используемые мной дистрибутивы (обычно Ubuntu LTS) имеют слишком старую версию.

Ответы на вопрос(14)

Решение Вопроса

https://github.com/isaacs/npm/issues/2119

Я должен был выполнить команду ниже:

npm config set registry http://registry.npmjs.org/

Тем не менее, это сделаетnpm устанавливать пакеты по небезопасному соединению HTTP. Если вы можете, вы должны придерживаться

npm config set registry https://registry.npmjs.org/

вместо этого, чтобы установить поверх HTTPS.

 Lodewijk07 февр. 2014 г., 17:48
Предупреждение: это тянет ресурсы через / небезопасное / соединение. Ваши файлы могут быть изменены до того, как вы их получите. Опять же: это не безопасно.
 Soroush Khosravi29 нояб. 2013 г., 02:13
yessssssssss! Оно работало завораживающе !
 Alix Axel04 авг. 2013 г., 18:25
Да, это также сделало это для меня. Спасибо, что поделился!
 Jdahern28 дек. 2013 г., 20:16
Использование Raspberry Pi, и это та же команда, которую я должен был использовать. измененоregistry.npmjs.org/pi-gpio вregistry.npmjs.org/pi-gpio, Не уверен, что случилось с https, недоступным пи
 Louis Ameline12 февр. 2014 г., 10:55
Не используйте это небезопасное решение, даже если оно работает. Apt-get версия Node.js слишком старая (0.6.12); Я установил последнюю стабильную версию от GitHub, и это решило проблему.

midnightcodr

Убедитесь, что вы удалили все установленные пакеты nodejs / npm.

sudo apt-get purge nodejs

sudo apt-get purge npm

Теперь установите Node js, используя команду ниже (спасибо midnightcodr на github)

curl -L https://raw.github.com/midnightcodr/rpi_node_install/master/setup.sh | bash -s 0.10.24

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

Как только узел установлен, установите npm

sudo apt-get install npm

npm v1.1.4 (а такжеnode v0.6.12), которые являютсяUbuntu 12.04 Версии репозитория.

Похоже, что версияnpm больше не поддерживается, обновление узла (и npm вместе с ним) решило проблему.

Во-первых, удалите устаревшую версию (необязательно, но я думаю, что это исправило проблему с глобальными модулями, которые не были обновлены).

sudo apt-get purge nodejs npm

Затем включите репо nodeource и установите:

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

Примечание: предыдущий совет состоял в том, чтобы использовать репо Криса Леа, теперь он перенес это в нодсорс, см .:

https://chrislea.com/2014/07/09/joining-forces-nodesource/https://nodesource.com/blog/chris-lea-joins-forces-with-nodesource

Из:Вот

 Louis Ameline12 февр. 2014 г., 12:14
Это должен быть принятый ответ, а не тот, у которого 150 голосов.
 chawkinsuf25 февр. 2014 г., 02:20
Обратите внимание, что пакет nodejs включает в себя npm и nodejs-dev, поэтому при установке nodejs из ppa вы получите все необходимое для npm.
 Justin Jenkins16 янв. 2015 г., 04:03
После использования этих инструкций и получения ошибки сегментации на Raspberry Pi (Raspbian) я удалил порт и следовал этим инструкциямgist.github.com/justinjenkins/16adc15338bb265f6808 теперь это работает!
 Flaise02 апр. 2014 г., 00:44
Этот ответ работал для меня там, где принятый ответ - нет.
 dannyman18 июн. 2014 г., 20:25
Спасибо! Это сработало для меня! Это был бы принятый ответ для «Спросить Ubuntu», но кажется, что многие пользователи, не являющиеся пользователями Ubuntu, считают этот ответ полезным.

@ Оттуда ответ самый лучший. и управление версиями осложнялось появлением io.js. Следуя инструкциям в его ответе, вы получите версию Node0.10.25 - не самая последняя версия.

Вы все равно должны удалить все существующие пакеты node / npm с помощью

sudo apt-get purge nodejs npm

а затем пойти и посмотреть наdeb для NodeSource установить страницу наhttps://github.com/nodesource/distributions#debinstall.

Все версии Node.js перечислены на приведенной выше странице с командами Linux для их установки. И эти пакеты будут работать наи Debian, и Ubuntu.

Постскриптум Если вы хотите запустить Node v4.4 или выше на Ubuntu Precise или Debian Wheezy, вам следует ознакомиться синформация о работе на старых дистрибутивах.

P.P.S. Если твойapt-get терпит неудачу, сценарий не будет завершен (ссылки Google не удавалисьapt-get update). Вы должны увидеть сообщения о том, что ключ подписи NodeSource добавлен в ваш брелок, и последнее сообщение с указаниемRun 'apt-get install nodejs' to install Node.js.

P.P.P.S. npm устанавливается вместе с узлом. После установки вы можете обновить до последней версии с помощьюsudo npm install npm -g

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

npm cache clean

А затем повторите процесс. Затем процесс кажется более плавным, и появится реальная проблема и сообщение об ошибке, где вы можете исправить это и затем продолжить.

Это основано на опыте запуска npm установки целого пакета пакетов в довольно простой установке Ubuntu внутри экземпляра Docker. Иногда в Ubuntu отсутствуют инструменты сборки / создания, и ошибки npm не покажут реальной проблемы, пока вы по какой-то причине не очистите кэш.

 Lanello29 дек. 2018 г., 03:02
это сработало для меня как шарм
 John Powell13 мая 2014 г., 14:58
Да, я обнаружил, что должен был выполнить это в сочетании с ответом оттуда.

ежно npm) до последней версии:

> npm --version < 2.0.0-alpha-5

Примечание: я непросить для нестабильной версии, я только получил его послеbrew install npm на OSX.

Понижение npm решило проблему для меня.

Самый простой способ установить стабильный npm - этоnpm install -g npm но он может не работать при некоторых обстоятельствах, и тогда может потребоваться понижение версии node.js.

Есть сейчасофициальные инструкции от Joyent (основной узелjer backer). Для Ubuntu:

sudo apt-get purge nodejs npm
curl -sL https://deb.nodesource.com/setup | sudo bash -
sudo apt-get install -y nodejs

Для других дистрибутивов Unix, OSX и Windows см. Ссылку. Обратите внимание, это установит как узел, так и npm.

работы add-apt-repository. так будет

sudo apt-get purge nodejs npm
sudo apt-get install -y python-software-properties python g++ make software-properties-common
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs
 roshkattu05 июн. 2014 г., 13:33
это должно быть помечено как правильный ответ. меня устраивает
 vijay11 июн. 2014 г., 14:26
После вышеперечисленных шагов нам нужно сделать: sudo npm install -g karma

что сработало для меня на Elementary OS Luna, на Ubuntu Fork. Я на архитектуре x86. Я попробовал все ответы здесь, но в конце концов решил установить его из источника.

Во-первых, убедитесь, что он не установлен с помощью менеджера пакетов:

sudo apt-get purge nodejs npm -y

Я пошел на страницу загрузки, чтобы найти последний источник и загрузить его,http://nodejs.org/download/, Вы можете использовать curl, wget или ваш браузер, чтобы получить его:

wget http://nodejs.org/dist/v0.10.34/node-v0.10.34.tar.gz
tar -xvf node-v0.10.34.tar.gz 
cd node-v0.10.34
./configure
make
sudo make install

Марка может занять некоторое время. Когда вы закончите, у вас должен быть установлен нод и npm, работающий в вашем каталоге / usr / local / bin, который уже находится на вашем пути. Вы должны проверить, где он живет:

which npm node

Мне также пришлось изменить разрешения, чтобы заставить его работать:

sudo chown -R $USER /usr/local

Если это не сработало, проверьте ваш путь:

echo $PATH

Обратите внимание, что при его установке он не будет управляться менеджером пакетов apt-get. Ура!

 radtek20 дек. 2014 г., 21:55
Пожалуйста, поделитесь, в чем проблема, вместо того, чтобы отмечать это. Меня устраивает! :)

поэтому другое решение работает (путем переключения на незащищенный протокол).

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

apt-get purge nodejs npm
git clone https://github.com/nodejs/node ~/local/node
cd ~/local/node
./configure
make
make install

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

В любом случае вы должны обновить узел и npm.

Я бы порекомендовал использоватьнеф управлять средами вашего узла.

https://npmjs.org/package/nave

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

для Raspberry Pi я нашел и изменилрешение я нашел
вот что я побежал

sudo su -
cd /opt
wget http://nodejs.org/dist/v0.10.28/node-v0.10.28-linux-arm-pi.tar.gz
tar xvzf node-v0.10.28-linux-arm-pi.tar.gz
ln -s node-v0.10.28-linux-arm-pi node
chmod a+rw /opt/node/lib/node_modules
chmod a+rw /opt/node/bin
echo 'PATH=$PATH:/opt/node/bin' > /etc/profile.d/node.sh

единственный мод, который я сделал, это поменял все 10.25 на 10.28, что было самым последним linux-arm-pi на тот момент

npm config set registry http://registry.npmjs.org/
npm config set strict-ssl false

npm config set proxy http://myusername:[email protected]:8080
npm config set https-proxy http://myusername:[email protected]:8080
set HTTPS_PROXY=http://myusername:[email protected]:8080
set HTTP_PROXY=http://myusername:[email protected]:8080
export HTTPS_PROXY=http://myusername:[email protected]:8080
export HTTP_PROXY=http://myusername:[email protected]:8080
export http_proxy=http://myusername:[email protected]:8080

npm --proxy http://myusername:[email protected]:8080 \
--without-ssl --insecure -g install
 Mayura11 мар. 2015 г., 23:45
Отключение строгого SSL с помощьюnpm config set strict-ssl false постарался для меня.

чен в этот пакет, поэтому его нужно было устанавливать отдельно. Я предполагал, что это сработает, но, очевидно, версия npm в дистрибутиве Ubuntu устарела.

Узелвики имеет эту инструкцию:

Для получения последней версии Node или установки в более старую версию Ubuntu и другие дистрибутивы на основе apt может потребоваться несколько дополнительных шагов. Пример установки:

sudo apt-get update
sudo apt-get install -y python-software-properties python g++ make
sudo add-apt-repository ppa:chris-lea/node.js
sudo apt-get update
sudo apt-get install nodejs

После этого npm уже был включен и работал отлично.

Ваш ответ на вопрос