2012-10-31 3 views
4

를 내가 작업이 성공적으로 완료, 펍 설치> 는 참조 소스를 찾을 수 없습니다 : 패키지

name: Dart Pages 
    description: The Dart platform. 
    dependencies: 
     web_components: any 
     mongo_dart: any 

다음 나는 도구를 실행이 pubspec.yaml 있습니다.

나는 다음과 같은 오류 얻을 응용 프로그램을 실행하면 : 만 mongo_dart로하지 않을 것 같다

dart --enable-checked-mode web\page.dart 
    Unable to open file: C:/Users/Samer/Documents/GitHub/dart/web/packages/mongo_dart/mongo_dart.dart'file:///C:/Users/Samer/Documents/GitHub/dart/web/page.dart': Error: line 1 pos 1: library handler failed 
    #import("package:mongo_dart/mongo_dart.dart"); 

나는 윈도우 7 64 비트 & 사용하고 최신 다트 편집기 버전 0.2.1_r14167

문제를, 하지만 다른 모든 라이브러리뿐만 아니라, 편집자는/dart/web/packages에있는 패키지에 대한 잘못된 경로를 찾고 있습니다. 폴더/dart/packages에 있습니다.

도움과 시간 보내 주셔서 감사합니다.

+0

파일 레이아웃에 대한 설명을 게시 할 수 있습니까? 웹 디렉토리에 패키지 디렉토리에 대한 심볼릭 링크가 있는지 확인할 수 있습니까? page.dart의 코드에 붙여 넣을 수 있습니까? 감사! –

답변

0

여기 js-interop 패키지와 비슷한 내용이 있습니다. 나는 ':'을 '/'로 바꿨고 효과가있었습니다.

원래 선언 :

import("package:mongo_dart/mongo_dart.dart"); 

수정 선언 :

#import("package/mongo_dart/mongo_dart.dart"); 

또한 (그것은 나에게 일했다)이 시도 할 수 :

import 'packages/mongo_dart/mongo_dart.dart'; 
+1

가끔 우연히 작동 할 수도 있지만 실제로는 원하지 않습니다. 그러면 과도기적 수입이 중단됩니다. A가 위의 구문을 사용하여 C를 가져 오는 B를 가져 오면 올바르게 해석되지 않습니다. – munificent

1

은 당신 때문에 pub install을 실행 한 "웹"디렉토리를 만들었습니까? 그렇지 않다면 시도하십시오. "package :"가져 오기가 올바르게 해결 되려면 Dart 시작점이 들어있는 디렉토리 안에 "packages"디렉토리가 있어야합니다.

술집은 당신을 위해 그 디렉토리를 만들지 만, 그렇게하기 위해 알아야합니다. 패키지에 새 디렉토리를 추가하면 pub install을 다시 실행하여 "packages"디렉토리를 추가하려고합니다.

0

내가 유닛 테스트에 가져 오려는 비슷한 문제가 있었다. 나는 다트 편집기 플러그인으로 윈도우 7 64 비트에서 이클립스 4.2를 실행 중이다. C에서 '술집'폴더 삭제

:의 AppData \ 로밍 \ \ < 사용자 > \ \ USERS 나를 위해 일했다.

크레딧은 darlang google 그룹의 Samer Ali에게 제공되며 here을 참조하십시오.

1

TeamCity에서 비슷한 문제가있었습니다. 내 개발 기계에서 나는 pub getpub build을 계속 반복 할 수 있으며 훌륭하게 작동하지만, TeamCity를 사용하여 솔루션을 처음 만들 때만 효과가있었습니다.

주위를 어지럽히고 난 후 대부분 솔루션을 구축하기 전에 TeamCity가 폴더를 청소하여 문제가 발생했음을 발견했습니다.

어떻게 pub 작업을위한 합리적인 문서를 찾을 수 없으며,이는 난생 처음 작동하는 이유는 모르겠지만, 내 시행 착오는 모든에 pub cache repair을 실행하는 pub get 전에 구축하고 마지막으로 pub build 작품 발견 반복적으로 TeamCity 프로젝트가 매번 성공적으로 빌드됩니다.

+0

그건 귀찮은 소리. 나는 TeamCity를 모른다. 동시에 여러 개의 'pub get'을 실행할 수 있습니까? 어쩌면 pub-cache 디렉토리를 지정하여 각 인스턴스마다 다른 디렉토리를 사용하도록 지정하는 방법이 있습니다. 내 컴퓨터가 아닌이 디렉토리를 찾아야합니다. –

+0

TeamCity를 구성하여 현재 빌드가 아직 실행 중이지만 기본 설정이 아닙니다. TeamCity가 특정 빌드에 대해 항상 동일한 폴더를 사용하고 빌드간에 내용을 지우지 않도록 할 수도 있습니다. 이 문제를 해결하지만 깨끗한 빌드는 아닙니다. 필자는 솔루션을 소스 제어에서 가져 와서 빈 폴더에 구축한다는 것을 알고 싶습니다. – bikeman868