链接的模块显示为未满足的依赖关系

Fel*_*lix 5 node.js npm

我有两个本地节点包,我们将它们称为pack1pack2。现在,pack2依赖于pack1,但未pack1发布到 npm,而是仅在本地链接(使用npm link)。pack2还链接以确保我正在使用最新的本地更改。然而,npm list -g给了我这样的东西:

\n\n
\xe2\x94\x9c\xe2\x94\x80\xe2\x94\xac pack1@1.0.0 -> /path/to/pack1\n... many lines ...\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\xac pack2@0.1.4 -> /path/to/pack2\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 UNMET DEPENDENCY pack1@1.0.0\n
Run Code Online (Sandbox Code Playgroud)\n\n

奇怪的是,pack1实际上它是一个自耕农生成器,并且正在做yo pack1工作,所以它被拾取了。

\n\n

尝试这样做npm installpack2引发错误pack1未找到。

\n\n

我怎样才能让它发挥作用?我觉得我错过了一些超级基本的东西。

\n

小智 2

您需要执行以下npm link命令序列。

$ cd pack1
$ npm link          # make this linkable

$ cd pack2
$ npm link pack1    # bring in pack1 via link--did you do this??
Run Code Online (Sandbox Code Playgroud)

要检查所有设置是否正确:

$ cd pack2
$ ls -l node_modules/pack1
Run Code Online (Sandbox Code Playgroud)

这应该显示到 pack1 的符号链接。如果存在,但仍然不需要 pack1,则 pack1 可能存在问题,例如package.json 中没有index.js文件或条目。main