热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

无法获得已安装模块的绝对路径

如何解决《无法获得已安装模块的绝对路径》经验,为你挑选了3个好方法。

我有一个问题,我认为这与我的package.json或cordova平台的版本有关.

当我尝试运行ionic state restore它时,它返回以下输出:

Attempting to restore your Ionic application from package.json

Restoring Platforms

cordova platform add ios
cordova platform add android

Restore platforms is complete

Restoring Plugins

cordova plugin add cordova-plugin-whitelist
cordova plugin add cordova-plugin-console
cordova plugin add cordova-plugin-statusbar
cordova plugin add cordova-plugin-device
cordova plugin add cordova-plugin-splashscreen
cordova plugin add ionic-plugin-keyboard
cordova plugin add cordova-plugin-network-information
cordova plugin add cordova-plugin-file
cordova plugin add cordova-plugin-compat
cordova plugin add cordova-plugin-media
cordova plugin add https://github.com/AubreyHewes/cordova-background-audio.git
Caught exception:
 undefined

Mind letting us know? https://github.com/driftyco/ionic-cli/issues

当我尝试运行failed(cordova plugin add https://github.com/AubreyHewes/cordova-background-audio.git)命令时,它返回以下错误:

Error: Failed to fetch plugin git+https://github.com/AubreyHewes/cordova-background-audio.git 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

我不明白为什么它说这是一个连接问题,因为我的网络连接正常工作.插件的URL也是正确的.

我的环境信息:

Cordova CLI: 7.0.0
Ionic CLI Version: 2.2.3
Ionic App Lib Version: 2.2.1
ios-deploy version: 1.9.0
ios-sim version: 5.0.10
OS: OS X El Capitan
Node Version: v7.0.0
Xcode version: Xcode 8.1 Build version 8B62

我正在为这个问题拔出头发.你有什么可能导致这个问题的线索吗?

我的package.json内容:

{
  "name": "paranaiba-app",
  "version": "1.1.1",
  "description": "paranaiba-app: An Ionic project",
  "dependencies": {
    "cordova-android": "^6.2.3",
    "cordova-ios": "^4.4.0",
    "cordova-plugin-compat": "~1.1.0",
    "cordova-plugin-console": "~1.0.6",
    "cordova-plugin-device": "~1.1.5",
    "cordova-plugin-file": "~4.3.2",
    "cordova-plugin-media": "~2.4.1",
    "cordova-plugin-music-controls": "git+https://github.com/homerours/cordova-music-controls-plugin.git",
    "cordova-plugin-network-information": "~1.3.2",
    "cordova-plugin-splashscreen": "~4.0.2",
    "cordova-plugin-statusbar": "~2.2.2",
    "cordova-plugin-whitelist": "~1.3.2",
    "gulp": "^3.5.6",
    "gulp-concat": "^2.2.0",
    "gulp-minify-css": "^0.3.0",
    "gulp-rename": "^1.2.0",
    "gulp-sass": "^2.0.4",
    "ionic-plugin-keyboard": "~2.2.1",
    "nl.kingsquare.cordova.background-audio": "git+https://github.com/AubreyHewes/cordova-background-audio.git",
    "phonegap-plugin-push": "~1.8.4"
  },
  "devDependencies": {
    "bower": "^1.3.3",
    "gulp-util": "^2.2.14",
    "shelljs": "^0.3.0"
  },
  "cordovaPlugins": [
    "cordova-plugin-whitelist",
    "cordova-plugin-console",
    "cordova-plugin-statusbar",
    "cordova-plugin-device",
    "cordova-plugin-splashscreen",
    "ionic-plugin-keyboard",
    "cordova-plugin-network-information",
    "cordova-plugin-file",
    "cordova-plugin-compat",
    "cordova-plugin-media",
    {
      "locator": "https://github.com/AubreyHewes/cordova-background-audio.git",
      "id": "nl.kingsquare.cordova.background-audio"
    },
    {
      "locator": "https://github.com/homerours/cordova-music-controls-plugin",
      "id": "cordova-plugin-music-controls"
    }
  ],
  "cordovaPlatforms": [
    {
      "platform": "ios",
      "version": "",
      "locator": "ios"
    },
    {
      "platform": "android",
      "version": "",
      "locator": "android"
    }
  ],
  "cordova": {
    "platforms": [
      "android",
      "ios"
    ],
    "plugins": {
      "phonegap-plugin-push": {
        "SENDER_ID": "XXXX"
      },
      "cordova-plugin-whitelist": {},
      "cordova-plugin-console": {},
      "cordova-plugin-statusbar": {},
      "cordova-plugin-device": {},
      "cordova-plugin-splashscreen": {},
      "ionic-plugin-keyboard": {},
      "cordova-plugin-network-information": {},
      "cordova-plugin-file": {},
      "cordova-plugin-compat": {},
      "cordova-plugin-media": {},
      "nl.kingsquare.cordova.background-audio": {},
      "cordova-plugin-music-controls": {}
    }
  }
}

谢谢!



1> 小智..:

添加本地插件时,我收到了相同的错误消息:Error: Failed to get absolute path to installed module.

使用选项--nofetch(cordova@7.0.1)修复它:

cordova plugin add ../my-plugin --nofetch

根据https://github.com/apache/cordova-cli/blob/master/RELEASENOTES.md:使用--nofetch标志来使用旧的获取逻辑来获取平台和插件.


这应该是公认的答案.接受的答案中的链接甚至提到了这个标志.
那么现在我们还有一个替代方案--nofetch已经消失了吗?
`--nofetch`标志是否保存到`package.json` - 它似乎不适合我,因此,在新克隆上运行`cordova prepare`会产生相同的错误.
Cordova 8.0.0中删除了`--nofetch`选项:https://issues.apache.org/jira/browse/CB-13055

2> RafaelKr..:

编辑:这个答案已经过时了.请使用uutrecht的答案.


我现在遇到了同样的问题.我通过将cordova从v7.0.0降级到v6.5.0来修复它

npm i -g cordova@6.5.0

他们改变了获取插件的方式.https://cordova.apache.org/news/2017/05/04/cordova-7.html



3> Mukesh Chapa..:

--nofetch选项已在Cordova版本8.0.0中删除:https : //issues.apache.org/jira/browse/CB-13055

如果您已经安装了Cordova 8.xx,则可以将其降级到7.1.0版本,然后使用该--nofetch选项。

运行以下命令将Cordova降级到7.1.0:

npm install -g cordova@7.1.0

如果上述命令不起作用,请先尝试卸载cordova,然后再安装7.1.0版的cordova:

npm uninstall -g cordova
npm install -g cordova@7.1.0

然后,检查Cordova版本以确认其是否已降级:

cordova --version


推荐阅读
  • 本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ... [详细]
  • 在软件开发过程中,经常需要将多个项目或模块进行集成和调试,尤其是当项目依赖于第三方开源库(如Cordova、CocoaPods)时。本文介绍了如何在Xcode中高效地进行多项目联合调试,分享了一些实用的技巧和最佳实践,帮助开发者解决常见的调试难题,提高开发效率。 ... [详细]
  • 在处理大规模数据数组时,优化分页组件对于提高页面加载速度和用户体验至关重要。本文探讨了如何通过高效的分页策略,减少数据渲染的负担,提升应用性能。具体方法包括懒加载、虚拟滚动和数据预取等技术,这些技术能够显著降低内存占用和提升响应速度。通过实际案例分析,展示了这些优化措施的有效性和可行性。 ... [详细]
  • 在对WordPress Duplicator插件0.4.4版本的安全评估中,发现其存在跨站脚本(XSS)攻击漏洞。此漏洞可能被利用进行恶意操作,建议用户及时更新至最新版本以确保系统安全。测试方法仅限于安全研究和教学目的,使用时需自行承担风险。漏洞编号:HTB23162。 ... [详细]
  • 在探讨P1923问题时,我们发现手写的快速排序在最后两个测试用例中出现了超时现象,这在意料之中,因为该题目实际上要求的是时间复杂度为O(n)的算法。进一步研究题解后,发现有选手使用STL中的`nth_element`函数成功通过了所有测试点。本文将详细分析这一现象,并提出相应的优化策略。 ... [详细]
  • MicrosoftDeploymentToolkit2010部署培训实验手册V1.0目录实验环境说明3实验环境虚拟机使用信息3注意:4实验手册正文说 ... [详细]
  • 在多线程并发环境中,普通变量的操作往往是线程不安全的。本文通过一个简单的例子,展示了如何使用 AtomicInteger 类及其核心的 CAS 无锁算法来保证线程安全。 ... [详细]
  • 本文介绍如何使用 Python 的 DOM 和 SAX 方法解析 XML 文件,并通过示例展示了如何动态创建数据库表和处理大量数据的实时插入。 ... [详细]
  • 本文详细介绍了 PHP 中对象的生命周期、内存管理和魔术方法的使用,包括对象的自动销毁、析构函数的作用以及各种魔术方法的具体应用场景。 ... [详细]
  • 本文详细介绍了MySQL数据库的基础语法与核心操作,涵盖从基础概念到具体应用的多个方面。首先,文章从基础知识入手,逐步深入到创建和修改数据表的操作。接着,详细讲解了如何进行数据的插入、更新与删除。在查询部分,不仅介绍了DISTINCT和LIMIT的使用方法,还探讨了排序、过滤和通配符的应用。此外,文章还涵盖了计算字段以及多种函数的使用,包括文本处理、日期和时间处理及数值处理等。通过这些内容,读者可以全面掌握MySQL数据库的核心操作技巧。 ... [详细]
  • 在《Cocos2d-x学习笔记:基础概念解析与内存管理机制深入探讨》中,详细介绍了Cocos2d-x的基础概念,并深入分析了其内存管理机制。特别是针对Boost库引入的智能指针管理方法进行了详细的讲解,例如在处理鱼的运动过程中,可以通过编写自定义函数来动态计算角度变化,利用CallFunc回调机制实现高效的游戏逻辑控制。此外,文章还探讨了如何通过智能指针优化资源管理和避免内存泄漏,为开发者提供了实用的编程技巧和最佳实践。 ... [详细]
  • 本文介绍了如何利用Shell脚本高效地部署MHA(MySQL High Availability)高可用集群。通过详细的脚本编写和配置示例,展示了自动化部署过程中的关键步骤和注意事项。该方法不仅简化了集群的部署流程,还提高了系统的稳定性和可用性。 ... [详细]
  • 在《ChartData类详解》一文中,我们将深入探讨 MPAndroidChart 中的 ChartData 类。本文将详细介绍如何设置图表颜色(Setting Colors)以及如何格式化数据值(Formatting Data Values),通过 ValueFormatter 的使用来提升图表的可读性和美观度。此外,我们还将介绍一些高级配置选项,帮助开发者更好地定制和优化图表展示效果。 ... [详细]
  • 本文将继续探讨 JavaScript 函数式编程的高级技巧及其实际应用。通过一个具体的寻路算法示例,我们将深入分析如何利用函数式编程的思想解决复杂问题。示例中,节点之间的连线代表路径,连线上的数字表示两点间的距离。我们将详细讲解如何通过递归和高阶函数等技术实现高效的寻路算法。 ... [详细]
  • 在处理木偶评估函数时,我发现可以顺利传递本机对象(如字符串、列表和数字),但每当尝试将JSHandle或ElementHandle作为参数传递时,函数会拒绝接受这些对象。这可能是由于这些句柄对象的特殊性质导致的,建议在使用时进行适当的转换或封装,以确保函数能够正确处理。 ... [详细]
author-avatar
mobiledu2502926037
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有