我在一个多模块项目上本地工作。我有一个模块,它发布了bin
:
{
"name": "a",
"bin": "bin/index.js",
"dependencies": { "third-party": "*" }
}
然后我有另一个想要使用此bin
的模块:
{
"name": "b",
"dependencies": { "a": "*" }
}
在a
目录中,我运行npm link
。然后从b
目录中运行npm link a
。这会将它们联系起来,我在a
的{{1}}中得到b
。
到目前为止,非常好。
现在问题是node_modules/.bin
a
dependencies
没有b
,所以当我尝试从b
目录运行二进制文件时,会尝试使用bin
目录的当前工作目录运行b
。所以,它看起来在那里node_modules
并且找不到它们,这会引发错误。
如果a
是常规(非链接)依赖关系,则所有dependencies
都将安装到b
的{{1}}中。但node_modules
不会发生这种情况,因此无效。
我可以使用什么最不熟练的方法来实现这个目的?对此有一种“正确”的方法吗?
如果重要,我正在使用npm link
。我在Windows上使用Git Bash。最新的节点版本9.3.0和相关的lerna
。