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

时间:2015-06-30 17:52:06

标签: node.js npm

我有两个本地节点包,我们称之为pack1pack2。现在,pack2取决于pack1,但pack1未发布到npm,而是仅在本地链接(使用npm link)。 pack2也链接在一起,以确保我使用最新的本地更改。但是,npm list -g给了我类似的东西:

├─┬ pack1@1.0.0 -> /path/to/pack1
... many lines ...
├─┬ pack2@0.1.4 -> /path/to/pack2
│ ├── UNMET DEPENDENCY pack1@1.0.0

奇怪的是,由于pack1实际上是一个自制生成器,而yo pack1正在运行,所以它被拾起了。

npm install中尝试pack2会引发错误,指出找不到pack1

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

2 个答案:

答案 0 :(得分:1)

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

$ cd pack1
$ npm link          # make this linkable

$ cd pack2
$ npm link pack1    # bring in pack1 via link--did you do this??

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

$ cd pack2
$ ls -l node_modules/pack1

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

答案 1 :(得分:0)

就我而言,我必须:

  1. 从“ pack2”(npm uninstall pack1)完全卸载
  2. npm link pack1来自“ pack2”,然后
  3. 在“ pack2”中运行npm install pack1

所有其他步骤组合均无效,并且在任何地方都找不到卸载或重新安装的信息。希望这可以帮助其他遇到此问题的人。