我有一个节点模块,它在package.json
中"main": "dist/index.js"
。
从父文件夹调用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 链接无法识别不同的入口文件?它正在寻找索引.js。
PS 我的目标是让我的模块可以在任何目录的命令行中使用。不确定我是否以正确的方式去做。
试试
"main": "./dist/index.js",
在package.json
.这对我有用npm link
.
还要运行npm list --link=true
和npm list -g --link=true --depth=0
,并首先unlink
模块,以防它已经链接。有时运行npm cache clean
会有所帮助,以防您的link
以某种方式搞砸。
原来我的 package.json 文件有"bin": "./index.js"
.这导致了问题,删除它解决了它。