'npm ls' показывает модуль, но require () не может его найти - PullRequest
0 голосов
/ 22 февраля 2019

У меня установлен модуль type:

~\Documents\appname $ npm ls type
serverless-commerce@5.0.0 C:\Users\user\Documents\appname
`-- type@0.0.3

Однако require не может его найти:

~\Documents\appname $ node
> require('type')
{ Error: Cannot find module 'type'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:580:15) 
    at Function.Module._load (internal/modules/cjs/loader.js:506:25)
    at Module.require (internal/modules/cjs/loader.js:636:17)
    at require (internal/modules/cjs/helpers.js:20:18) code: 'MODULE_NOT_FOUND' }

Как это исправить?

Ответы [ 2 ]

0 голосов
/ 22 февраля 2019

В этом случае проблема была создана плохо сформированным пакетом с:

Добавление строки "main": "checks.js", в package.json заставляет модуль работать

node
> require('type')
{ isBoolean: [Function: isBoolean],     
isUndefined: [Function: isUndefined], 
isNull: [Function: isNull],
isString: [Function: isString],
isNumber: [Function: isNumber],
isObject: [Function: isObject],
instanceOf: [Function: instanceOf],
isRegExp: [Function: isRegExp],
isDate: [Function: isDate],
isFunction: [Function: isFunction],
isArray: [Function: isArray],
isArguments: [Function: isArguments],
isPrimitive: [Function: isPrimitive],
isFlat: [Function: isFlat],
isEmpty: [Function: isEmpty],
isJSON: [Function] }
>
0 голосов
/ 22 февраля 2019

Вы запрашиваете посылку в module.paths.который может не иметь правильного пути C:\Users\user\Documents\appname.

Вы либо:

  • установить относительный путь require('.type')
  • установить полный путь require('C:\Users\user\Documents\appname\type')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...