我正在尝试构建一个Docker容器,其中包含基于Aurelia的javascript项目所需的大部分工具。我有Docker社区版17.03.1-ce-mac5 (16048)和以下Dockerfile:
FROM ubuntu:yakkety
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update -q && apt-get install -qy \
apt-utils \
git \
chromium-browser \
xvfb \
nodejs \
npm
RUN ln -s /usr/bin/nodejs /usr/bin/node
RUN npm install -g aurelia-cli
WORKDIR /workdir
EXPOSE 9000我运行命令docker build -t maldrake/aurelia:v1 .来构建容器,然后是
docker run --rm -it -P -v `pwd`:/workdir maldrake/aurelia:v1 /bin/bash才能进入码头容器。
此时,当我运行au时,我希望看到Aurelia CLI工具在没有参数的情况下运行时的常见输出,以及可用命令及其函数的列表。相反,我得到了以下输出:
root@11f3d17edfd5:/workdir# au
/usr/local/lib/node_modules/aurelia-cli/lib/resolve/index.js:1
(function (exports, require, module, __filename, __dirname) { let core = require('./lib/core');
^^^
SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:374:25)
at Object.Module._extensions..js (module.js:417:10)
at Module.load (module.js:344:32)
at Function.Module._load (module.js:301:12)
at Module.require (module.js:354:17)
at require (internal/module.js:12:17)
at Object.<anonymous> (/usr/local/lib/node_modules/aurelia-cli/bin/aurelia-cli.js:3:17)
at Module._compile (module.js:410:26)
at Object.Module._extensions..js (module.js:417:10)
root@11f3d17edfd5:/workdir# javascript错误本身很容易理解,如果我查看一下index.js文件,就会发现在顶部没有'use strict'。我可以将它添加到那个单独的文件中,这样就可以运行Aurelia CLI,足够创建一个新项目,但是当我尝试使用其他命令行界面命令时,比如au test,我在其他没有use strict的文件中遇到了同样的错误。我应该如何以不同的方式配置我的环境,以便CLI在安装时即可正常工作?
Node和npm版本如下:
root@11f3d17edfd5:/workdir# node -v
v4.2.6
root@11f3d17edfd5:/workdir# npm -v
3.5.2我已经通过Stack Overflow搜索过了,更普遍的是,用Google搜索过,也没有找到同样问题的描述。这很可能意味着我遗漏了一些显而易见的东西。
发布于 2017-04-06 00:56:50
我使用Aurelia CLI版本0.27.0打开了这个问题。该问题已在刚刚发布的0.28.0版本中修复。
(编辑)好的,部分修复。我仍然无法获得一个构建命令来执行,而不会出现类似的错误。然而,潜在的问题似乎是与Node4.x的不兼容。因此,将构建更改为从节点PPA (版本6.10.x)拉出,完全解决了问题:
FROM ubuntu:yakkety
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update -q && apt-get install -qy \
apt-utils \
chromium-browser \
curl \
git \
xvfb
RUN curl -sL https://deb.nodesource.com/setup_6.x | bash -
RUN apt-get install -qy \
nodejs
RUN npm install -g aurelia-cli
WORKDIR /workdir
EXPOSE 9000https://stackoverflow.com/questions/43207081
复制相似问题