2017-11-09 16 views
3

ドッキング・イメージを作成してGHCJS開発環境にしようとしています。ドッキング・イメージを構築するときにGHCJSプロジェクトの初期化エラーが発生する

RUN stack new helloWorld ghcjs

全体Dockerfileは次のとおりです:

FROM debian:latest 

#update 
RUN apt-get update 
#install apt-utils and emacs 
RUN apt-get install -y apt-utils emacs-nox 
#install ghcjs dependencies 
RUN apt-get install -y curl git libtinfo-dev alex happy nodejs-legacy nodejs 
#install stack 
RUN curl -sSL https://get.haskellstack.org/ | sh 
#add stack to path 
RUN echo "PATH=$PATH:/usr/local/bin/stack:/root/.local/bin" >> /root/.profile 
#create and change into project directory 
RUN mkdir /root/ghcjs/ && cd /root/ghcjs/ 
#initialize ghcjs project 
RUN stack new helloWorld ghcjs 
#add stack.yaml 
ADD stack.yaml /root/ghcjs/helloWorld/ 
#install ghcjs 
RUN stack setup 

出力と

私はスタックを使用してGHCJSテンプレートプロジェクトを初期化することであるDockerfileのこの行にエラーを取得していますエラーは次のとおりです。

Downloading template "ghcjs" to create project "helloWorld" in helloWorld/ ... 

The following parameters were needed by the template but not provided: author-email, author-name, category, copyright, github-username 
You can provide them in /root/.stack/config.yaml, like this: 
templates: 
    params: 
    author-email: value 
    author-name: value 
    category: value 
    copyright: value 
    github-username: value 
Or you can pass each one as parameters like this: 
stack new helloWorld ghcjs -p "author-email:value" -p "author-name:value" -p "category:value" -p "copyright:value" -p "github-username:value" 

Looking for .cabal or package.yaml files to use to init the project. 
Using cabal packages: 
- helloWorld/helloWorld.cabal 

Selecting the best among 11 snapshots... 

Downloading lts-9.12 build plan ... 
Downloaded lts-9.12 build plan. 
Updating package index Hackage (mirrored at https://s3.amazonaws.com/hackage.fpcomplete.com/) ... 
Selected mirror https://s3.amazonaws.com/hackage.fpcomplete.com/ 
Downloading root 
Selected mirror https://s3.amazonaws.com/hackage.fpcomplete.com/ 
Downloading timestamp 
Downloading snapshot 
Downloading mirrors 
Cannot update index (no local copy) 
Downloading index 
Updated package list downloaded 
Populating index cache ... 
Populated index cache. 
* Partially matches lts-9.12 
    ghcjs-base not found 
     - helloWorld requires -any 

Downloading nightly-2017-11-09 build plan ... 
Downloaded nightly-2017-11-09 build plan. 
* Partially matches nightly-2017-11-09 
    ghcjs-base not found 
     - helloWorld requires -any 

Downloading lts-8.24 build plan ... 
Downloaded lts-8.24 build plan. 
* Partially matches lts-8.24 
    ghcjs-base not found 
     - helloWorld requires -any 

Downloading lts-7.24 build plan ... 
Downloaded lts-7.24 build plan. 
* Partially matches lts-7.24 
    ghcjs-base not found 
     - helloWorld requires -any 

Downloading lts-6.35 build plan ... 
Downloaded lts-6.35 build plan. 
* Partially matches lts-6.35 
    ghcjs-base not found 
     - helloWorld requires -any 

Downloading lts-5.18 build plan ... 
Downloaded lts-5.18 build plan. 
* Partially matches lts-5.18 
    ghcjs-base not found 
     - helloWorld requires -any 

Downloading lts-4.2 build plan ... 
Downloaded lts-4.2 build plan. 
* Partially matches lts-4.2 
    ghcjs-base not found 
     - helloWorld requires -any 

Downloading lts-3.22 build plan ... 
Downloaded lts-3.22 build plan. 
* Partially matches lts-3.22 
    ghcjs-base not found 
     - helloWorld requires -any 

Downloading lts-2.22 build plan ... 
Downloaded lts-2.22 build plan. 
* Partially matches lts-2.22 
    ghcjs-base not found 
     - helloWorld requires -any 

Downloading lts-1.15 build plan ... 
Downloaded lts-1.15 build plan. 
* Partially matches lts-1.15 
    ghcjs-base not found 
     - helloWorld requires -any 

Downloading lts-0.7 build plan ... 
Downloaded lts-0.7 build plan. 
* Partially matches lts-0.7 
    ghcjs-base not found 
     - helloWorld requires -any 

Selected resolver: lts-9.12 
Resolver 'lts-9.12' does not have all the packages to match your requirements. 
    ghcjs-base not found 
     - helloWorld requires -any 

This may be resolved by: 
    - Using '--solver' to ask cabal-install to generate extra-deps, atop the chosen snapshot. 
    - Using '--omit-packages to exclude mismatching package(s). 
    - Using '--resolver' to specify a matching snapshot/resolver 

The command '/bin/sh -c stack new helloWorld ghcjs' returned a non-zero code: 1 

EDIT:

ここでは、Dockerfileを編集して@SamuraiJackコメントを取り上げます。今はこの問題で言及された問題を過ぎてしまいます。

FROM debian:latest 

#update 
RUN apt-get update 
#install apt-utils and emacs 
RUN apt-get install -y apt-utils emacs-nox 
#install ghcjs dependencies 
RUN apt-get install -y curl git libtinfo-dev alex happy nodejs-legacy nodejs 
#install stack 
RUN curl -sSL https://get.haskellstack.org/ | sh 
#add stack to path 
RUN echo "PATH=$PATH:/usr/local/bin/stack:/root/.local/bin" >> /root/.profile 
#create and change into project directory 
RUN mkdir /home/ghcjs/ && cd /home/ghcjs/ && \ 
#initialize ghc project 
stack new helloWorld 
#add stack.yaml 
ADD stack.yaml /home/ghcjs/helloWorld/ 
#install ghcjs 
RUN cd /home/ghcjs/helloWorld/ && \ 
stack setup 

答えて

1

あなたは(ghcjs-baseがghcjsのインストールの一部になります)、それを使用して新しいプロジェクトを作成する前にghcjsをインストールする必要があります。

チェックherehere

+0

の手順は、注文感謝の外にいました。興味のある他の人にどのように並べ替えたかを示すために、最初の回答に編集を追加しました。 – user8876236

関連する問題