Как мне вызвать ссылку npm на модуль, который имеет другую запись, отличную от index.js - PullRequest
0 голосов
/ 08 сентября 2018

У меня есть модуль узла, который имеет "main": "dist/index.js" в package.json.

Вызов node my-package из родительской папки успешно вызывает dist/index.js в качестве файла ввода.

Однако, если я позвоню npm link, он, кажется, выполняет какое-то действие с индикатором выполнения (возможно, он устанавливает что-то по какой-то причине), а затем говорит:

npm ERR! enoent ENOENT: no such file or directory, chmod '/Users/Man/.nvm/versions/node/v8.11.3/lib/node_modules/my-package/index.js'

Почему npm link не может распознать другой файл записи? Он ищет index.js.

PS Моя цель - сделать мой модуль пригодным для использования в командной строке из любого каталога. Не уверен, правильно ли я поступлю.

Ответы [ 2 ]

0 голосов
/ 09 сентября 2018

Оказывается, мой файл package.json имел "bin": "./index.js". Это вызвало проблему, и ее устранение устранило ее.

0 голосов
/ 09 сентября 2018

Попробуйте

"main": "./dist/index.js",

в package.json. Это работает для меня с npm link.

Также сначала запустите npm list --link=true и npm list -g --link=true --depth=0 и unlink ваш модуль, если он уже связан. Иногда это помогает запустить npm cache clean на случай, если ваш link каким-то образом испортился.

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