首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Windows上的npm不能在子目录中调用Cordova

为什么Windows上的npm不能在子目录中调用Cordova
EN

Stack Overflow用户
提问于 2018-08-28 13:43:02
回答 1查看 172关注 0票数 0

无论我是调用quasar dev -m cordova -t ios -T browser (它在末尾的子目录中调用Cordova )还是尝试npm脚本,如下所示:

代码语言:javascript
复制
"scripts": {
    "build": "quasar build -m cordova -t ios -T browser",
    "postbuild": "cd src-cordova && cordova run browser"
}

我得到以下错误。(如果您在Git Bash中使用cd src-cordova && cordova run browser,但不能在npm脚本中使用它。)

代码语言:javascript
复制
(node:9964) UnhandledPromiseRejectionWarning: CordovaError: No platforms added to
this project. Please use `cordova platform add <platform>`.
    at Object.preProcessOptions (C:\....\cordova-lib\src\cordova\util.js:312:15)
    at C:\....\cordova-lib\src\cordova\run.js:30:32
    at _fulfilled (C:\....\cordova-lib\node_modules\q\q.js:787:54)
    at self.promiseDispatch.done (C:\....\cordova-lib\node_modules\q\q.js:816:30)
    at Promise.promise.promiseDispatch (C:\....\cordova-lib\node_modules\q\q.js:749:13)
    at C:\....\cordova-lib\node_modules\q\q.js:810:14
    at flush (C:\....\cordova-lib\node_modules\q\q.js:108:17)
    at _combinedTickCallback (internal/process/next_tick.js:131:7)
    at process._tickCallback (internal/process/next_tick.js:180:9)
    at Function.Module.runMain (module.js:695:11)
(node:9964) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error
originated either by throwing inside of an async function without a catch block, or by
rejecting a promise which was not handled with .catch(). (rejection id: 1)

我在网上找不到任何关于它的东西,而且它看起来真的很近,尽管我不知道我当时做了什么改变。从那时起,我确保我完全重新安装了Node,并更新了npm,Cordova,Quasar,Vue,git!,所有的东西。仍然是这个错误。

而且它似乎不是类星体本身。如果我从Quasar上面的目录中执行类似这样的操作,它可以工作,除了Cordova的失败:

代码语言:javascript
复制
"scripts": {
    "build": "cd quasar-folder && quasar build -m cordova -t ios -T browser"
}

运行quasar info网:

代码语言:javascript
复制
Operating System                Windows_NT(10.0.17134) - win32/x64
NodeJs                          8.11.4

Global packages
  NPM                           6.4.0
  yarn                          Not installed
  quasar-cli                    0.17.13
  vue-cli                       3.0.1
  cordova                       8.0.0

Important local packages
  quasar-cli                    0.17.13 
  quasar-framework              0.17.10 
  quasar-extras                 2.0.6   
  vue                           2.5.17  
  vue-router                    3.0.1   
  vuex                          3.0.1   
  electron                      Not installed
  electron-packager             Not installed
  electron-builder              Not installed
  @babel/core                   7.0.0-beta.54   
  webpack                       4.16.5  
  webpack-dev-server            3.1.5   
  workbox-webpack-plugin        3.4.1   
  register-service-worker       1.4.1   

那么是什么导致了这种情况呢?是否有解决方法或修复方法?

EN

回答 1

Stack Overflow用户

发布于 2018-08-29 12:27:44

为什么,我不确定。但这就是对我有效的方法,尽管从Quasar项目根目录安装了所有内容:

  1. 删除Cordova文件夹

$ rm -rf src-cordova

  • Reinstall模式/Cordova,甚至在尝试运行它时也应该可以工作。

$ quasar dev -m cordova -t ios -T browser

  • After说,Quasar认为平台(例如,上面的browser )是安装的,但Cordova没有,所以它一直试图下载它以供开发,构建将失败。所以,简单地说:

$ cd src-cordova && cordova add platform browser

这可能是由于在我的系统中移动Quasar安装造成的,或者是升级出了问题。无论如何,它破坏了Vue.nextTick,但仍然可以构建等等。任何有更确切想法的人都会得到我的投票和/或复选标记。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52050868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档