我尝试使用docker部署我的angular-dart应用程序,但无法使其正常工作。一切都可以在OS上运行,但在容器内部却失败了。
我的pubspec.yaml:
name: myapp
dependencies:
browser: any
angular: 1.0.0
transformers:
- angular我的Dockerfile:
FROM stackbrew/ubuntu:13.10
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update
RUN apt-get install -y apt-transport-https curl git
RUN sh -c 'curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add -'
RUN sh -c 'curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > /etc/apt/sources.list.d/dart_stable.list'
RUN apt-get update
RUN apt-get install dart/stable
env PATH $PATH:/usr/lib/dart/bin
ADD frontend/pubspec.yaml /container/pubspec.yaml
ADD frontend/web /container/web
WORKDIR /container
RUN pub buildDart按预期安装(Dart VM版本: 1.7.2),但在pub build上安装失败,出现以下错误:
Error on line 6, column 5 of pubspec.yaml: Error loading transformer: Illegal argument(s): sdkDirectory must be provided.
- angular
^^^^^^^我找到了这个https://github.com/angular/angular.dart/issues/1270,它建议将dartSDK路径添加到pubspec.yaml。这不可能是解决之道。
该应用程序应该可以在每台计算机上运行。不仅在dartSdk路径与pubspec.yaml中的硬编码路径匹配的那些路径上
有没有其他方法来解决这个问题?或者是一种解决方法?
发布于 2014-11-25 03:45:01
更新
应在code_transformers 0.2.3+2中修复(请参见http://dartbug.com/21225)
年长的
我还不知道为什么这在一些系统上是必要的,而在另一些系统上不是,但这应该可以修复它。
transformers:
- angular:
sdkDirectory: "/usr/lib/dart"另请参阅https://github.com/angular/angular.dart/issues/1270#issuecomment-64967674,了解使用符号链接的替代方法。
https://stackoverflow.com/questions/27112722
复制相似问题