当我运行"Ionic start project name"时,我总是收到此错误消息:
Running command - failed![ERROR] An error occurred while running npm install (exit code 1):
module.js:471
throw err;
^
Error: Cannot find module '../lib/utils/unsupported.js'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at /usr/local/lib/node_modules/npm/bin/npm-cli.js:19:21
at Object.<anonymous> (/usr/local/lib/node_modules/npm/bin/npm-cli.js:79:3)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
Run Code Online (Sandbox Code Playgroud) 我知道有很多类似的问题,但我找不到任何解决方案.此外,我会提供具体案例的详细信息.
我在Ubuntu 16.04 LTS编写了一个Ionic项目,现在我必须构建它才能发布.所以我运行命令:
cordova build --release android
Run Code Online (Sandbox Code Playgroud)
我显示以下错误:
Error: Could not find gradle wrapper within Android SDK. Might need to update your Android SDK.
Looked here: /home/user/Android/Sdk/tools/templates/gradle/wrapper
Run Code Online (Sandbox Code Playgroud)
templates/gradle/wrapper目录.经过广泛的研究,我将所有与Android Studio相关的环境变量放在文件中/etc/environment.所以现在它看起来像这样:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/game:/home/<user>/Android/Sdk:/home/<user>/Android/Sdk/tools:/home/<user>/Android/Sdk/platform-tools"
ANDROID_HOME=/home/<user>/Android/Sdk
export ANDROID_HOME
JAVA_HOME=/usr/lib/jvm/java-8-oracle
export JAVA_HOME
GRADLE_HOME=/opt/android-studio/gradle/gradle-3.2
export GRADLE_HOME
Run Code Online (Sandbox Code Playgroud)
现在,为了测试环境变量,我运行以下命令:
source /etc/environment
echo $PATH
echo $ANDROID_HOME
echo $JAVA_HOME
echo $GRADLE_HOME
Run Code Online (Sandbox Code Playgroud)
并且正确显示所有路径变量.
所以,看起来环境变量就像他们应该根据各种类似的问题和我搜索过的教程.有谁知道我做错了什么?为什么我仍然会收到Gradle Wrapper错误?
我正在尝试构建一个离子android项目,我安装了android sdk.
我的项目名称是myApp.我已成功将android平台添加到myApp.但是当我试图建立项目时
~/myApp$ sudo ionic build android
Run Code Online (Sandbox Code Playgroud)
结果是
Running command: /home/hari/myApp/hooks/after_prepare/010_add_platform_class.js /home/hari/myApp
add to body class: platform-android
ERROR building one of the platforms: Failed to find 'ANDROID_HOME' environment variable. Try setting setting it manually.
Failed to find 'android' command in your 'PATH'. Try update your 'PATH' to include path to valid SDK directory.
You may not have the required environment or OS to build this project
Error: Failed to find 'ANDROID_HOME' environment variable. Try setting setting it manually.
Failed …Run Code Online (Sandbox Code Playgroud) 我正在开发依赖于的Ionicapp(2.0.0-rc0)angular 2.所以新的介绍ngModules包括在内.我在app.module.ts.下面添加我的.
import { NgModule } from '@angular/core';
import { IonicApp, IonicModule } from 'ionic-angular';
import { MyApp } from './app.component';
import { Users } from '../pages/users/users';
@NgModule({
declarations: [
MyApp,
Users
],
imports: [
IonicModule.forRoot(MyApp)
],
bootstrap: [IonicApp],
entryComponents: [
MyApp,
Users
]
})
export class AppModule {}
Run Code Online (Sandbox Code Playgroud)
是什么entryComponents在这里做?Components已定义于declarations.那么重复它们的必要性是什么?如果我在这里不包含组件会怎么样?
我正在研究Ionic/Cordova,我添加了这个,androidManifest.xml但这对我不起作用,应用程序仍然以两种方式显示
android:screenOrientation="portrait"
Run Code Online (Sandbox Code Playgroud)
如何仅将我的应用限制为纵向模式?我已经检查了android并且它不起作用
我想用离子与材料设计.我在使用离子指令与自定义CSS和角度材料之间陷入困境
我已经读过使用离子指令我们获得了许多有效的功能
即使在导航到其他视图并返回到页面之后,也会使用UI路由器记住应用程序数据
离子列表项目仅在显示高度时呈现,并在向下或向上滚动时重复使用
并且有很多性能改进.
但是,如果我使用离子指令,他们没有材料设计.
如果我使用角度材料,我将无法获得这些性能改进,以及移动应用程序所需的额外功能.
角度材料指令就像
<md-list>
<md-item ng-repeat="item in items">
Hello, {{item}}!
</md-item>
</md-list>
Run Code Online (Sandbox Code Playgroud)
离子指令就像
<ion-list>
<ion-item ng-repeat="item in items">
Hello, {{item}}!
</ion-item>
</ion-list>
Run Code Online (Sandbox Code Playgroud)
看起来Ionic正在资助角材料项目开发,那么为什么角材料不能与离子材料一起使用呢?
如何在不失去离子性能改进和功能的情况下使用角度材料组件?
要么
使用离子材料设计有更好的想法吗?
我正在尝试在请求繁忙时显示或隐藏按钮上的加载指示器.我通过在加载请求或加载完成时更改$ scope.loading变量来使用angular.
$scope.login = function(){
$scope.loading = true;
apiFactory.getToken()
.success(function(data){
})
.error(function(error){
})
.finally(function(){
$timeout(function() {
$scope.loading = false;
}, 0);
});
};
Run Code Online (Sandbox Code Playgroud)
在前端:
<button ng-disabled="loading" class="button button-outline button-positive" type="submit">
Log in
<span ng-if="loading" class="ion-refreshing"></span>
</button>
Run Code Online (Sandbox Code Playgroud)
这工作正常,但加载图标(离子刷新)显示约2秒,而$ scope变量立即更新.我尝试了$ scope.$ apply但这似乎不是什么错误,范围在请求后立即更新.这只是图标没有足够快速响应.
谢谢你帮我理解这个!
我想知道如何检查离子的版本.如果我这样做,ionic -v我会回来1.4.3
可以吗?是不是1.0.0刚刚发布?
我正在构建一个带有角度+离子的应用程序,它使用底部带有三个离子标签的经典三键菜单.当用户单击选项卡时,该模板将通过ui-router打开.
我有这样的州:
$stateProvider
.state('other', {
url: "/other",
abstract: true,
templateUrl: "templates/other/other.html"
})
Run Code Online (Sandbox Code Playgroud)
在模板中我做了类似的事情:
<ion-nav-view name="other" ng-init="doSomething()"></ion-nav-view>
Run Code Online (Sandbox Code Playgroud)
我知道我可以在我的控制器中编写doSomething()函数,并在那里手动调用它.这给了我同样的问题.当有人打开那个视图时,我似乎无法弄清楚如何不止一次调用doSomething()函数.
现在,doSomething()函数被调用得很好,但只是第一次用户打开视图/选项卡.每当用户打开该视图或选项卡时,我想调用一个函数(更新地理位置).
实现这一目标的正确方法是什么?
谢谢你的帮助!
在为Android构建Ionic 3应用程序时,突然出现以下错误。
Could not find org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.3.60-eap-25
Run Code Online (Sandbox Code Playgroud)
我们已经从Android Studio中的一个解决方案在这里,但我在我的build.gradle没有变化用下面的代码后,我仍然得到错误。
buildscript {
repositories {
...
maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }
}
}
allprojects {
repositories {
...
maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }
}
}
Run Code Online (Sandbox Code Playgroud)
更新Cordova并添加上述解决方案后,我的build.gradle文件如下所示。
buildscript {
repositories {
google()
jcenter()
maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }
}
dependencies {
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
classpath 'com.android.tools.build:gradle:3.3.0'
}
}
allprojects {
repositories {
google()
jcenter()
maven { url …Run Code Online (Sandbox Code Playgroud) ionic-framework ×10
angularjs ×3
ionic2 ×3
android ×2
cordova ×2
angular ×1
build.gradle ×1
ionic ×1
ionic3 ×1
javascript ×1
node.js ×1