【发布时间】:2017-09-14 09:04:58
【问题描述】:
我有一个节点应用程序,想在子模块(具有自己的依赖项的简单节点模块)中提取一些代码。目前,我不想要单独的 git 存储库或 npm registry entries,而只是在子目录中提供它们。
其中一个模块被命名为core,因为它应该在主节点应用程序以及其他子模块中使用。
假设这是我的结构:
- 我的项目
- package.json
- app.js
- 核心
- index.js
- package.json
- 合作伙伴
- index.js
- package.json
合作伙伴需要核心,app.js 也需要核心。我的方法是执行以下操作:
cd partner
npm install --save ../core
cd ..
npm install --save ./core
npm install --save ./partner
npm install
其中的错误:
npm 错误!代码ENOENT
npm 错误!错误号-2
npm 错误!系统调用重命名
npm 错误! enoent ENOENT:没有这样的文件或目录,重命名 '/home/tjorben/dev/myProject/node_modules/.staging/sliced-fc0a1515' -> '/home/tjorben/dev/myProject/core/node_modules/mquery/node_modules/sliced '
我的目标是,我只需要在基本文件夹 (myProject) 上进行 npm 安装,它还会安装 core 和 partner 的依赖项。有什么方法可以实现吗?
【问题讨论】:
-
只需要它们而不是将它们安装为依赖项。
require("../core");也许npm link是另一种选择(我不太了解,但你可以用它测试 CLI)。 -
但这不意味着我必须分别
npm installcore 和partner吗?所以,在myProject上npm install还不够吗? -
但我会给
npm link一个机会。谢谢。 -
我重读了你的问题,我想我第一次误解了你。我发布了一个答案来澄清这一点:)