从 git 存储库安装的 npm 包没有任何依赖?

9
我正在使用这个github问题进行工作,它建议在另一个仓库合并拉取请求之前使用临时的github分支...很酷。
我尝试通过以下方式将github分支添加到我的项目依赖项中...
    "reactstrap": "git+https://github.com/jameswomack/reactstrap.git",

package.json文件中,当我执行npm install时,一切都按计划进行,但是后来我的项目找不到reactstrap,出现了故障...

当我检查node_modules时,我可以看到reactstrap目录非常空,只有LICENSEREADMEpackage.json文件...

我错过了什么?

1个回答

11

这个仓库的 package.json 文件包含如下代码:

"files": [
    "LICENSE",
    "README.md",
    "CHANGELOG.md",
    "lib",
    "dist"
]

这是要包含在npm软件包中的文件和目录列表。您可以看到,实际的JavaScript文件将位于libdist目录中。

问题是这些目录没有被检入Git存储库,而是在运行 npm run build 时通过构建创建的。

一个解决方法是:运行构建,将生成的文件提交并推送到GitHub上的您的分支。之后,按照您的方式安装依赖项应该会给您带来所需的结果。

但是,如果您的目标仅是测试本地reactstrap存储库的更改是否有效,并将其包含为演示项目的依赖项,那么有一种更好的方法:使用npm link

它的工作原理如下:

  • 在您本地克隆的reactstrap存储库根目录中,执行命令npm link
  • 在使用reactstrap作为依赖项的演示项目的根目录中,执行命令npm link reactstrap

然后,您对reactstrap存储库所做的任何更改都将立即在演示项目中可用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接