Aureliaベースのjavascriptプロジェクトに必要なツールが多く含まれているDockerコンテナを作成しようとしています。私は、ドッカーコミュニティ版バージョン17.03.1-CE-MAC5(16048)と、以下のDockerfileを持っている:DockerコンテナでAurelia CLIを実行しているときにエラーが発生しました
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 run --rm -it -P -v `pwd`:/workdir maldrake/aurelia:v1 /bin/bash
続く、コンテナを構築するためのコマンドdocker build -t maldrake/aurelia:v1 .
を実行しますドッカーコンテナ。
その時点で、au
を実行すると、引数なしで実行された場合、Aurelia CLIツールの通常の出力、使用可能なコマンドのリスト、およびその機能が表示されます。代わりに、私は次の出力取得しています:
[email protected]:/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)
[email protected]:/workdir#
をjavascriptのエラー自体が理解するのは簡単である、と私はそのindex.jsファイルを見て行けば、それが一番上に何'use strict'
はありませんというのは本当です。私はそれを個々のファイルに追加することができ、Aurelia CLIを実行して新しいプロジェクトを作成できますが、au test
のような他のCLIコマンドを使用しようとすると、他のファイルと同じエラーが発生します上部にuse strict
があります。インストール時にCLIだけが動作するように、私の環境をどうやって構成するべきですか?
[email protected]:/workdir# node -v
v4.2.6
[email protected]:/workdir# npm -v
3.5.2
私はグーグルで、および、より一般的には、スタックオーバーフローを経由して検索したと同じ問題の記述を発見していない次のように
ノードとNPMのバージョンがあります。それはまあまあ、私は何かfacepalmingly明らかに欠けていることを意味する可能性があります。
ドッカベストプラクティスを読む...あなたはそうああ1つのRUN –
に多くのパッケージをインストールすることができ、ありがとうございました!おそらく私はDockerを使うのが比較的新しいと思います...それに応じてDockerfileを編集し、上記の質問のポストを更新しました。それは私が見ている結果を変えることはありませんが、コンテナの構築を最適化します。 –
既存のアウレリア画像のドッカーハブを検索してみませんか?コンテナ内にクロムブラウザ全体が必要なのはなぜですか? –