npm5本地模块安装可能导致Typescript重复标识符错误

时间:2017-07-03 14:52:22

标签: typescript npm

直到从本地文件系统安装的npm5软件包(npm install ./packages/subdir)将本地模块复制到目标的node_modules。

在v5本地安装中,只创建符号链接而不复制模块。

不幸的是,如果您的主模块和从本地文件夹安装的模块具有相同的依赖关系,则此行为会破坏npm3中引入的平面模块结构。

让我用一个例子来澄清问题:

我有三个模块,两个本地(/ home / gsanta / moduleA,/ home / gsanta / moduleB)和一个来自npm repo(例如:jquery)。

moduleA依赖于moduleB和jquery。 moduleB依赖于jquery。

现在我将moduleB安装到moduleA

cd /home/gsanta/moduleA
npm install ../moduleB

使用npm4或更早版本,我得到以下干净的依赖树:

moduleA
  moduleB
  jquery

使用npm5它看起来像这样(因为moduleB只链接到moduleA而不是复制):

moduleA
  moduleB
    jquery
  jquery

我不知道这种行为有什么样的含义,但是对于打字稿来说这显然是有问题的,因为在这种情况下,如果jquery包含一些打字稿声明文件,那些声明将被复制,使得打字稿编译器抛出错误的错误消息。

0 个答案:

没有答案