因为我将我的mac更新为Sierra我在我的cordova应用程序中注意到一个奇怪的行为:一些插件不再工作了,它们似乎没有被复制到ios平台,即使我在平台上添加了插件& #39;像往常一样复制文件夹。似乎xcode忽略了它们。 我尝试了一些方法:删除并添加插件,更新cordova,卸载并重新安装cordova,更新平台,尝试创建一个全新的应用程序......似乎没有什么可以解决问题。 搜索我发现这个命令:
$ cordova platform update ios --save
它没有做任何其他事情。 不幸的是,每次我在应用程序中进行更改时都必须使用此命令,然后我再次删除并添加平台,因此我认为这在我的环境中是个问题。
我想完全卸载cordova,node.js和git并重新安装所有内容。我在node.js How do I uninstall nodejs installed from pkg (Mac OS X)?的这个问题中找到了一些指令,但我不知道如何正确运行所有命令,其中一些命令失败。
卸载cordova并重新安装工程,但没有解决问题。 我用
做到了$ sudo npm install -g cordova
$ sudo npm uninstall -g cordova
有人可以链接我在哪里一步一步找到明确的说明吗?我没有那么好的命令行,我真的想解决这个问题而不格式化整个系统。
感谢您的帮助!
答案 0 :(得分:1)
认为我有解决方案:我删除了cordova,
sudo npm uninstall -g cordova
删除了我的用户主文件夹中的.cordova文件夹(它是一个隐藏文件夹!)并再次安装了cordova
sudo npm install -g cordova
我注意到我的一个旧的cordova项目正在运行:删除平台,添加平台,默认情况下我有ios平台版本4.3.0。好! 在最新更新后创建的另一个cordova项目中,它仍然使用ios平台4.2.1。 在根项目文件夹中有config.xml文件,在这个文件中,我在第二个项目中找到了这一行:
<engine name="ios" spec="~4.2.1" />
刚删除,现在cordova默认使用最新版本的ios平台。
我不确切地知道为什么在一个项目中有这条线,为什么不在另一个...不知道我是否在重新安装cordova之前在一个项目中更新了平台并且在重新安装之后...可以'记得。
我只知道现在,如果我创建一个新项目,它正确使用ios平台4.3.0,我试图描述我的所有步骤...... 我希望它对其他人有用,因为我已经准备好格式化我的mac来解决这个问题:(
答案 1 :(得分:0)
我认为你对节点或npm确实有问题。
在我看来,在不重建 node_modules 目录的情况下更改节点版本时会出现更多问题。
如果您始终使用 - save 修饰符安装模块,请尝试以下操作:
rm -rf node_modules
npm install
...如果没有,您可以先备份node_modules。但是,只有检查它才能找出你的&#39; package.json中缺少哪些模块才有用。文件。