2015-01-05 2 views
6

편집을 업그레이드 :핸들 바 문제 엠버에게 1.9.1

나는 내 응용 프로그램에서 다른 페이지로 이동했는데, 내가 대신이 오류를 점점 상처 : Uncaught Error: Assertion Failed: TypeError: Cannot read property 'Mixin' of undefined합니다. 이 코드 줄을 추적했습니다 : __exports__["default"] = DS.Model.extend(Ember.Validations.Mixin, {, Ember 유효성 검사를 사용합니다. 나는 이것이 문제의 출처라고 생각한다. Handlebars를 업그레이드 할 때 Ember Validations에 문제가있는 사람이 있습니까?

원본 게시물 :

나는 1.9.1에 엠버를 업그레이드하는 몇 가지 문제에 봉착했습니다. 특히, 나는 그것이 Handlebars 2.0과 호환되는 방식으로 내 템플릿을 컴파일하지 않는다고 생각합니다. 나는 이것을 공통적 인 문제로 생각했지만, 유일한 해결책은 1.9.1보다는 Ember canary를 사용하는 것이었다. 옵션이 아니기 때문에, 업그레이드 된 앱으로 Handlebars 2.0을 멋지게 만들 수있는 방법을 찾아야합니다. handlebars.js이 부분 Uncaught Error: Unknown template object: function :

내 응용 프로그램을 실행 콘솔 내 오류를 도시 I 사용 0.1.2에서 엠버 CLI 0.1.5에 의해 제 1 스위칭 내 애플리케이션 업그레이드

if (!templateSpec || !templateSpec.main) { 
    throw new Exception('Unknown template object: ' + typeof templateSpec); 
} 

Ember CLI 사이트의 these instructions. 나는 Ember를 1.9.1로 업그레이드하려고 시도했다. Ember 버전을 bower.js에서 1.9.1로 변경 한 다음, Ember 공식 사이트에서 these instructions을 수정했다. 저것은 작동하지 않았다, 그래서 나는 1.9.1 대신에 Ember 카나리아를 사용하는 것을 시도하고, 저것은 잘 일했다.

{ 
    "name": "appName", 
    "dependencies": { 
    "handlebars": "2.0.0", 
    "jquery": "^1.11.1", 
    "ember": "1.9.1", 
    "ember-data": "1.0.0-beta.12", 
    "ember-resolver": "~0.1.11", 
    "loader.js": "stefanpenner/loader.js#1.0.1", 
    "ember-cli-shims": "stefanpenner/ember-cli-shims#0.0.3", 
    "ember-cli-test-loader": "rwjblue/ember-cli-test-loader#0.0.4", 
    "ember-load-initializers": "stefanpenner/ember-load-initializers#0.0.2", 
    "ember-qunit": "0.1.8", 
    "ember-qunit-notifications": "0.0.4", 
    "qunit": "~1.15.0", 
    "ember-simple-auth": "0.6.7", 
    "bootstrap-sass-official": "~3.3.1", 
    "ember-validations": "http://builds.dockyard.com.s3.amazonaws.com/ember-validations/ember-validations-latest.js" 
    } 
} 

어떤 아이디어 :

여기
{ 
    "name": "appName", 
    "version": "0.0.0", 
    "private": true, 
    "directories": { 
    "doc": "doc", 
    "test": "tests" 
    }, 
    "scripts": { 
    "start": "ember server", 
    "build": "ember build", 
    "test": "ember test" 
    }, 
    "repository": "https://github.com/stefanpenner/ember-cli", 
    "engines": { 
    "node": ">= 0.10.0" 
    }, 
    "author": "", 
    "license": "MIT", 
    "devDependencies": { 
    "body-parser": "^1.2.0", 
    "broccoli-asset-rev": "^2.0.0", 
    "broccoli-merge-trees": "^0.1.4", 
    "broccoli-sass": "^0.2.1", 
    "broccoli-static-compiler": "^0.1.4", 
    "ember-cli": "0.1.5", 
    "ember-cli-content-security-policy": "0.3.0", 
    "ember-cli-dependency-checker": "0.0.7", 
    "ember-cli-esnext": "0.1.1", 
    "ember-cli-htmlbars": "^0.6.0", 
    "ember-cli-ic-ajax": "0.1.1", 
    "ember-cli-inject-live-reload": "^1.3.0", 
    "ember-cli-qunit": "0.1.2", 
    "ember-cli-simple-auth": "^0.6.7", 
    "ember-cli-simple-auth-oauth2": "^0.6.7", 
    "ember-cli-spinkit": "0.0.1", 
    "ember-data": "1.0.0-beta.11", 
    "ember-export-application-global": "^1.0.0", 
    "express": "^4.8.5", 
    "glob": "^4.0.5" 
    } 
} 

내 bower.js입니다 : 여기

내 package.js입니까? StackOverflow에 대한 질문이 누락되었을 수 있습니다.

답변

2

오늘 나는 당신과 같은 문제가있다. ember-cli 1.8.1에서 1.9.1로 마이그레이션하고 싶었다.

다음 안내에 따라 해결했습니다. http://emberjs.com/blog/2014/10/16/handlebars-update.html. 4 단계 및 5 단계를 따르는 대신 'bower install'명령을 실행하기 전에 bower.json 파일에서 직접 ember 및 핸들 바의 버전을 직접 변경할 수 있습니다. 이것이 내가 한 일입니다.

내 projets는 ember-cli 0.1.5, ember 1.9.1 및 handlebars 2.0.0에서 작동합니다.

혹시 업데이트 과정에서 뭔가를 놓친 것일 수 있습니다.

+0

가능합니다. 내가 게시 한 가이드를 따라했지만 아직 그 오류가 나타납니다. 'node_modules'와'bower_components' 폴더를 삭제하고, htmlbars 패키지를 저장하고, handlebars 2.0과 ember 1.9.1을 bower.json에 추가하고,'npm install'과'bower install'을 실행했고, 저는 여전히 문제가 있습니다. 아마도 호환되지 않는 종속성이 있습니까?또는 내 템플릿의 내용이 더 이상 사용되지 않을 수도 있습니다. – NJP

+0

신선한 프로젝트로 시도해 볼 수 있습니까? 이것이 내가 한 짓이며 작동합니다. ember-cli 0.1.5를 사용하는 경우 ember 1.8.1, handlebars 1.3.0 및 ember-data 1.00-beta12를 사용합니다. 가이드로 마이그레이션을 수행 한 후에는 게시했습니다. 내일 더 큰 프로젝트로 마이그레이션을 수행 할 것입니다. –

+0

다른 것 : 'bower install'전에 'npm install'을 실행할 필요가 없었습니다. –

2

원래 게시물의 문제 :

나는 당신과 같은 문제가있었습니다. 내게는 문제가 내 의존성 중 하나였던 것 같다. 내 경우에는 ember-cli-bootstrap-sass이다. npm을 제거 할 때 ember-cli-bootstrap-sass --save-dev (그리고 @import "bootstrap";을 제거함) 오류를 제거했습니다. 그래서 당신이 사용하는 의존성에있는 뭔가가 당신이 말하는 것처럼 호환되지 않을 수 있습니다.