2016-02-10 3 views
1

Please check this image here, так как я не могу отобразить его здесь напрямую. Я установил модуль socket.io глобально, и даже я попытался установить его локально в каталоге PushNotification. Я все еще получаю сообщение об ошибке «Ошибка: не удается найти модуль« socket.io ».Невозможно получить доступ к модулю socket.io от консоли узла

ответ

0

не использует Socket.io в глобальном НОМ (-g) установить его локально в проекте

НОГО -install socket.io --save

+0

Но в этом случае я смогу использовать его из командной строки? Насколько мне известно, нам нужно установить модуль по всему миру, когда мы хотим использовать его из командной строки (или узла bash). –

0

узел не имеет представления о том, где найти socket.io когда вы устанавливаете его по всему миру. Глобальные установки модулей действительно предназначены только для инструментов уровня командной строки, которые должны быть связаны с вашим PATH, чтобы вы могли вызывать их извне узла env. Наиболее очевидным из которых является npm, например. npm install.

Когда вы установили socket.io глобально, вы положили его в /usr/local/lib, которого нет в списке местоположений, которые требуется узлу для модуля. Узел выглядит в нескольких местах, когда он встречает require заявления:

  1. основного узла модуль
  2. , если путь, посмотри на пути проекта
  3. еще посмотреть в не node_modules тракту

Ни одно из этих мест соответствует /usr/local/lib, поэтому узел выдает ошибку «не найден».

Подробнее о requirehere.

Чтобы ответить на другой вопрос, если вы установите socket.io в папку node_modules, а затем в командной узел линии require('socket.io'), он будет в конечном итоге, глядя в папку node_modules и найти socket.io, так что вы можете легко использовать его изнутри командной строки узла.

Смежные вопросы