我正在创建一个npm模块,该模块使用另一个本地模块作为依赖项。我这样包含它:
{
"name": "moduleA",
"version": "1.0.0",
"main": "./lib/index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"dependencies": {
"moduleB": "./moduleB"
},
"author": "",
"license": "ISC",
"description": ""
}
这非常适合本地开发,我可以看到moduleB作为软件包安装在moduleA的“ node_modules”中。
但是,当我全局安装moduleA并尝试运行它(准备发布)时,此结构会崩溃。
这些是我的步骤:
1)'npm pack moduleA'
2)'npm i -g模块A-3.4.2.tgz'
3)'moduleA'(在GitBash控制台中运行)
这时我看到以下错误:
Error: package.json not found in path
moduleB中有一个json包-安装过程中似乎存在某种竞争状况。
我尝试过:
1)将依赖关系更改为"moduleB": "file:./moduleB"
2)在“ preinstall”和“ postinstall”脚本中指定moduleB的安装
没有观察到行为差异。感谢任何提示或指导!