gpt4 book ai didi

Cordova 8 : How do you add plugins that are not in npm registry?

转载 作者:行者123 更新时间:2023-12-02 00:37:27 28 4
gpt4 key购买 nike

我有一系列插件没有在 npm 注册表中发布,并且由于各种原因,它们永远不会发布。这些以 GitHub 存储库的形式存在。

鉴于cordova 8(实际上从7.1.0开始)已经删除了nofetch,我们如何在config.xml(或package.json)在用户进行 cordova 准备 时安装这些插件?

示例:这是在 package.json (以及 config.xml)中

 <plugin name="org.devgeeks.Canvas2ImagePlugin" spec="https://github.com/devgeeks/Canvas2ImagePlugin.git">

当你做cordova准备

Discovered plugin "org.devgeeks.Canvas2ImagePlugin" in config.xml. Adding it to the project
Failed to restore plugin "org.devgeeks.Canvas2ImagePlugin" from config.xml. You might need to try adding it again. Error: Failed to fetch plugin https://github.com/devgeeks/Canvas2ImagePlugin via registry.
Probably this is either a connection problem, or plugin spec is incorrect.
Check your connection and plugin name/version/URL.
Failed to get absolute path to installed module

但是手动执行相同的操作效果很好:

cordova plugin add  https://github.com/devgeeks/Canvas2ImagePlugin.git
Installing "org.devgeeks.Canvas2ImagePlugin" for android
Installing "org.devgeeks.Canvas2ImagePlugin" for ios
Adding org.devgeeks.Canvas2ImagePlugin to package.json
Saved plugin info for "org.devgeeks.Canvas2ImagePlugin" to config.xml

这个特定的插件没有 npm 注册表。对于任何其他没有 npm 注册表的插件也是如此。

最佳答案

(没有将此标记为答案,因为我做了与我想做的相反的事情)

我放弃了尝试这样做。使用不同的 ID 将我的更改发布到 npm 注册表要简单得多。我个人认为这是一个糟糕的机制 - 我认为 npm 注册表是一个“好的插件列表”,并且确实不应该充斥着不添加全局值的修改,但我没有找到任何选择。

所以我:

  • 将我更改的所有插件的 ID 更改为 originalplugin-myid-fork
  • 将它们发布到 npm 注册表
  • 改变了我的package.jsonconfig.xml只需引用这些 id,因为它们现在位于 npm 注册表中(我希望它们保持同步)

背景故事(了解背景和我尝试过的内容):

我的标准是让我的用户只需执行 npm install && bower install && cordova prepare 即可轻松安装我的软件。

  • 问题是npm install会在 node_modules 中创建插件垫片其 id 与原始插件相同。
  • 尽管我的 config.xmlpackage.json有一个spec="my fork url" ,无论出于何种原因,cordova prepare会在 npm 注册表中查找该 id 并开始提示。
  • 事实上,在做了npm install之后手动安装cordova plugin add https://mygit.git会因同样的错误而失败。使此手动命令再次工作的唯一方法是从 node_modules 中删除该插件的定义。 。
  • 我还看到了--no-registry选项 - 永远无法让它工作 - 一直提示缺少本地路径。
  • 大约在这个时候,我说meh并认为这不值得,所以让我用我的 fork 弄脏注册表

关于 Cordova 8 : How do you add plugins that are not in npm registry?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50749953/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com