带链接的npm链接包不起作用

时间:2018-01-30 02:51:22

标签: node.js npm

我在一个多模块项目上本地工作。我有一个模块,它发布了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

0 个答案:

没有答案