2017-11-23 10 views
0

を使用して一連のテストを実行するTypescriptで書かれたプロジェクトがあります。 いくつかの理由でテストを実行するには、Dockerコンテナを作成する必要があります。プロジェクトながらDockerコンテナでTypescriptのインポートステートメントが動作しない

はローカルでOK npm testを実行します:

c:\github\gareththegeek\corewar>npm test 

> [email protected] test c:\github\gareththegeek\corewar 
> nyc jasmine-ts 

Started 
....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... 


503 specs, 0 failures 
Finished in 0.893 seconds 

私は同じフォルダをcontaineriseとドッキングウィンドウの画像からnpm testを実行すると、活字体の輸入が認識されていないようです。

c:\github\gareththegeek\corewar>docker run corewar 

> [email protected] test /usr/src/app 
> nyc jasmine-ts 


/usr/src/app/node_modules/ts-node/src/index.ts:307 
     throw new TSError(formatDiagnostics(diagnosticList, cwd, ts, lineOffset)) 
      ^
TSError: ⨯ Unable to compile TypeScript 
parser/Expression.ts (1,29): Cannot find module './interface/IExpression'. (2307) 
parser/Expression.ts (2,39): Cannot find module './interface/IToken'. (2307) 
parser/Expression.ts (3,30): Cannot find module './interface/ITokenStream'. (230 

私のドッキングウィンドウの画像は、それが来るとして基本的なものです:

FROM node:carbon 

# Create app directory 
WORKDIR /usr/src/app 

# Install app dependencies 
COPY package*.json ./ 

RUN npm install 

# Bundle app source 
COPY . . 

CMD [ "npm", "test" ] 

ドッキングウィンドウコンテナは私の地元のnpm testコマンドに異なった動作を、なぜ私は本当にわからないんです。私はローカルで私が窓についていて、ドッカーのコンテナがそうでないからだと仮定しよう。しかし、私は本当にこれをデバッグする方法が不明です。

Typescriptのインポートがドッカー内で私が期待しているように動作しない理由について、誰でも指摘できますか? もし何か助けがあれば、Typescriptコードのいくつかに貼り付けることができます。

答えて

1

ため息は私がGitHubの中にフォルダがInterfaceた何らかの理由で一方interface呼ば含まれていることを実現することで問題を解決するには、この質問を無視します。

私はすべてのフォルダをvscodeでローカルに名前を変更しましたが、これはgitを更新していませんでした(他人が/を行ったとしても)。

私は次のようでした:

cd parser 

git mv Interface ifacetemp 
git mv ifacetemp interface 

commit... 
push... 

をこれは、非常に迷惑な問題を解決しました。

関連する問題