使用npm

时间:2019-04-09 07:34:49

标签: javascript npm

我必须维护一个使用npm的项目,但是我对此并不了解。

更具体地说,我们有2个共享的JS库和一堆特定于页面的代码(依赖于这些库),我们使用npmrollup来生成特定于页面的代码束这是服务。这些库有一个package.json文件用于其依赖关系(D3.js,jQuery等)。这些页面还具有一个package.json文件,以包含库(带有file:path/to/file)和其他依赖项。

依赖关系的组织方式如下:

lib1/
lib2/
  requires "file:../lib1"
plugins/
  page1/
    requires "file:../../lib2"
  page2/
    requires "file:../../lib2"

在第一次尝试中,我们约定了package-lock.json并编写了一个脚本,该脚本基本上在lib1中跳转来运行npm installrollup,然后在{ {1}}(取决于lib2),然后对每个页面执行相同操作。

尽管有时这种方法可行,但我们会遇到随机故障,例如:

lib1

目录npm ERR! path /path/to/lib2/node_modules/.staging/@types/estree-39f5a558 npm ERR! code ENOENT npm ERR! errno -2 npm ERR! syscall rename npm ERR! enoent ENOENT: no such file or directory, rename '/path/to/lib2/node_modules/.staging/@types/estree-39f5a558' -> '/path/to/lib1/node_modules/@types/estree' npm ERR! enoent This is related to npm not being able to find a file. npm ERR! enoent 存在。

有时在/path/to/lib1/node_modules/@types/estree中失败,有时在页面中失败。

删除lib2并没有帮助。使用package-lock.json也无济于事。

有人知道出了什么问题吗?

0 个答案:

没有答案