如何在具有除index.js之外的其他条目的模块上调用npm链接

时间:2018-09-08 19:01:51

标签: node.js npm

我有一个在"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链接无法识别其他条目文件?它正在寻找index.js。

PS我的目标是使我的模块可从任何目录在命令行中使用。不知道我是否会按照正确的方式进行操作。

2 个答案:

答案 0 :(得分:1)

尝试

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

npm link对我有用。

还可以先运行npm list --link=truenpm list -g --link=true --depth=0unlink模块(如果已链接)。有时,如果您的npm cache clean搞砸了,运行link会有所帮助。

答案 1 :(得分:0)

证明我的package.json文件具有"bin": "./index.js"。这引起了问题,将其删除即可解决。