【发布时间】:2017-11-10 00:52:45
【问题描述】:
我被困在一个有点无限循环的斗争中!请帮忙xD
无论我运行什么phonegap 或cordova cli 命令,cordova 似乎都会在查找之前删除它正在查找的文件。
这里只是一些已知的触发错误的命令:
$ cordova plugin add <plugin name>
$ phonegap plugin add <plugin name>
$ cordova platform update <platform name>
$ phonegap platform update <platform name>
$ cordova platform remove <platform name>
$ phonegap platform remove <platform name>
见下面的终端输出,它显示了我在运行这些命令时得到的输出。我真的不确定为什么cordova在尝试重命名之前会删除它试图重命名的文件。很郁闷!
第 1 步(检查以确保我们有一个干净的 git 头并且我们的工作集没有变化)
apple@Child-2:~/projects/infiniteinternet/prodmode/prodmode-client-mobile-builds/phonegap * feature-barcode-scanner$ git status
# On branch feature-barcode-scanner
nothing to commit, working directory clean
第 2 步(尝试添加插件)
apple@Child-2:~/projects/infiniteinternet/prodmode/prodmode-client-mobile-builds/phonegap * feature-barcode-scanner$ cordova plugin add phonegap-plugin-barcodescanner --variable CAMERA_USAGE_DESCRIPTION="To scan barcodes"
Unmet project requirements for latest version of phonegap-plugin-barcodescanner:
cordova-android (6.2.3 in project, >=6.3.0 required)
Fetching highest version of phonegap-plugin-barcodescanner that this project supports: 6.0.8 (latest is 7.0.0)
Error: Failed to fetch plugin phonegap-plugin-barcodescanner@6.0.8 via registry.
Probably this is either a connection problem, or plugin spec is incorrect.
Check your connection and plugin name/version/URL.
Error: npm: Command failed with exit code 254 Error output:
npm WARN cordova-plugin-file-transfer@1.5.1 requires a peer of cordova-plugin-file@^3.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN cordova-plugin-media-capture@1.2.0 requires a peer of cordova-plugin-file@^3.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN com.prodmod.mobileclient@1.0.0 No repository field.
npm WARN com.prodmod.mobileclient@1.0.0 No license field.
npm ERR! path prodmode-client-mobile-builds/phonegap/node_modules/cordova-ios/node_modules/simple-plist/node_modules/base64-js
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall rename
npm ERR! enoent ENOENT: no such file or directory, rename 'prodmode-client-mobile-builds/phonegap/node_modules/cordova-ios/node_modules/simple-plist/node_modules/base64-js' -> 'prodmode-client-mobile-builds/phonegap/node_modules/cordova-ios/node_modules/simple-plist/node_modules/.base64-js.DELETE'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
┌──────────────────────────────────────────────────────────┐
│ npm update check failed │
│ Try running with sudo or get access │
│ to the local update config store via │
│ sudo chown -R $USER:$(id -gn $USER) /Users/apple/.config │
└──────────────────────────────────────────────────────────┘
npm ERR! A complete log of this run can be found in:
npm ERR! .npm/_logs/2017-11-10T00_23_21_467Z-debug.log
第 3 步(检查第 2 步中的命令引起的 git 更改)
好的,所以失败了。让我们找出假定丢失的文件发生了什么。好吧,显然cordova 在查找之前删除了该文件?
apple@Child-2:~/projects/infiniteinternet/prodmode/prodmode-client-mobile-builds/phonegap * feature-barcode-scanner$ git status
# On branch feature-barcode-scanner
# Changes not staged for commit:
# (use "git add/rm <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/base64-js/.npmignore
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/base64-js/.travis.yml
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/base64-js/LICENSE.MIT
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/base64-js/README.md
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/base64-js/base64js.min.js
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/base64-js/bower.json
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/base64-js/lib/b64.js
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/base64-js/package.json
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/base64-js/test/big-data.js
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/base64-js/test/convert.js
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/base64-js/test/url-safe.js
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/plist/.jshintrc
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/plist/.travis.yml
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/plist/History.md
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/plist/LICENSE
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/plist/Makefile
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/plist/README.md
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/plist/dist/plist-build.js
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/plist/dist/plist-parse.js
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/plist/dist/plist.js
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/plist/examples/browser/index.html
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/plist/index.js
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/plist/lib/build.js
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/plist/lib/parse.js
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/plist/package.json
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/xmlbuilder/.npmignore
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/xmlbuilder/CHANGELOG.md
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/xmlbuilder/LICENSE
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/xmlbuilder/README.md
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/xmlbuilder/lib/Utility.js
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLAttribute.js
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLCData.js
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLComment.js
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLDTDAttList.js
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLDTDElement.js
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLDTDEntity.js
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLDTDNotation.js
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLDeclaration.js
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLDocType.js
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLDocument.js
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLDocumentCB.js
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLElement.js
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLNode.js
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLProcessingInstruction.js
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLRaw.js
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLStreamWriter.js
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLStringWriter.js
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLStringifier.js
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLText.js
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/xmlbuilder/lib/XMLWriterBase.js
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/xmlbuilder/lib/index.js
# deleted: node_modules/cordova-ios/node_modules/simple-plist/node_modules/xmlbuilder/package.json
#
no changes added to commit (use "git add" and/or "git commit -a")
如果有人对如何解决此问题有任何建议,我将不胜感激。我不确定是什么原因造成的,也不知道它何时生效,但我已经有几个星期无法将插件添加到我的项目中了。
提前致谢!
编辑: 环境设置:
apple@Child-2:/ $ cordova --version
7.0.1
┌──────────────────────────────────────────┐
│ Update available: 7.1.0 (current: 7.0.1) │
│ Run npm install -g cordova to update. │
└──────────────────────────────────────────┘
apple@Child-2:/ $ phonegap --version
7.1.1
apple@Child-2:/ $ node --version
v6.11.1
apple@Child-2:/ $ npm --version
5.4.2
【问题讨论】:
-
请贴出你的环境设置:
npm版本、cordova版本等 -
@MaximShoustin 环境设置已添加。如果我错过了任何内容,请告诉我。
-
尝试删除 node_modules、插件和平台文件夹并运行
cordova prepare。它应该恢复您在 config.xml 和/或 package.json 中拥有的平台和插件 -
@DrewT 您是否尝试过清除 npm 缓存,然后尝试删除 ios 平台并重新添加它?
-
@jcesarmobile 是的,我试过了,结果还是一样的错误,没有插件。
标签: cordova cordova-plugins phonegap phonegap-cli cordova-cli