使用已在grid.arrange(p1, p2,p3,ncol=3)
中定义的插件添加离子平台时,会在package.json
中安装并引用一组随机插件。
作为一个具体的例子,我的plugins/ios.json
包含:
package.json
首次运行时,cordovaPlugins: [
"com.danielcwilson.plugins.googleanalytics",
"com.ionic.keyboard",
"cordova-plugin-console",
"cordova-plugin-device",
"uk.co.whiteoctober.cordova.appversion",
"com.paypal.cordova.mobilesdk",
"nl.x-services.plugins.flashlight",
"cordova-plugin-inappbrowser",
"https://github.com/wildabeast/BarcodeScanner"
]
包含:
plugins/ios.json
如果我清除平台和插件文件夹并重新添加平台,那么第二次运行时我得到:
com.danielcwilson.plugins.googleanalytics
com.paypal.cordova.mobilesdk
com.phonegap.plugins.barcodescanner
cordova-plugin-console
nl.x-services.plugins.flashlight
uk.co.whiteoctober.cordova.appversion
等等。
在com.ionic.keyboard
com.paypal.cordova.mobilesdk
cordova-plugin-console
cordova-plugin-device
cordova-plugin-inappbrowser
nl.x-services.plugins.flashlight
uk.co.whiteoctober.cordova.appversion
步骤中,我确实看到了所有插件的添加;但有时候ionic platform add ios
步骤不会运行。
是否有可靠的方法来安装插件?
我正在使用:
Running command: /path/to/project/hooks/after_platform_add/010_install_plugins.js
请求的| What | Version |
| :------ | :------ |
| node | 0.10.39 |
| cordova | 5.1.1 |
| ionic | 1.6.1 |
内容:
010_install_plugins.sh
这是离子的默认值。
答案 0 :(得分:1)
事实证明,这个错误本身就是Ionic。
钩子文件异步运行所有插件安装,这意味着文件被同时写入,因此更改丢失了。
我已向ionic-cli
提交拉取请求以解决问题here。改变是取代:
packageJSON.cordovaPlugins.forEach(function (plugin) {
exec('cordova plugin add ' + plugin, function (error, stdout, stderr) {
sys.puts(stdout);
});
});
使用:
function installNextPlugin() {
var curPlugin = packageJSON.cordovaPlugins.shift();
if (curPlugin) {
exec('cordova plugin add ' + curPlugin, function(err, stdout, stderr) {
sys.puts(stdout);
sys.puts(stderr);
})
.on("exit", function(code) {
if (code) {
console.log("'cordova plugin add " + curPlugin + "' failed with code '" + code + "'");
process.exit(code);
} else {
installNextPlugin();
}
});
}
}
installNextPlugin();
010_install_plugins.js
中的。
答案 1 :(得分:0)
这是我之前遇到的问题,也许你已经完成了它但是值得一试:chmod + x 010_install_plugins.js