の内側に設置するとき、私は、次のdocker-compose
ファイル破損依存関係NPMがドッキングウィンドウコンテナ
gulp:
image: node:4.4
volumes:
- ./admin:/node
working_dir: /node
command: bash -c "npm install && npm install -g gulp-cli && gulp dev"
npm install
コマンドは罰金行くが、その後gulp
は、次のエラーで失敗し構築し、実行しています:
admin-gulp_1 | npm info ok
admin-gulp_1 | /node/node_modules/gulp-eslint/node_modules/eslint/lib/util/source-code.js:88
admin-gulp_1 | SourceCode.splitLines = function(text) {
admin-gulp_1 |^
admin-gulp_1 |
admin-gulp_1 | ReferenceError: SourceCode is not defined
admin-gulp_1 | at Object.<anonymous> (/node/node_modules/gulp-eslint/node_modules/eslint/lib/util/source-code.js:88:1)
admin-gulp_1 | at Module._compile (module.js:409:26)
admin-gulp_1 | at Object.Module._extensions..js (module.js:416:10)
admin-gulp_1 | at Module.load (module.js:343:32)
admin-gulp_1 | at Function.Module._load (module.js:300:12)
admin-gulp_1 | at Module.require (module.js:353:17)
admin-gulp_1 | at require (internal/module.js:12:17)
admin-gulp_1 | at Object.<anonymous> (/node/node_modules/gulp-eslint/node_modules/eslint/lib/eslint.js:21:18)
admin-gulp_1 | at Module._compile (module.js:409:26)
admin-gulp_1 | at Object.Module._extensions..js (module.js:416:10)
sf_admin-gulp_1 exited with code 1
ときI cat /node/node_modules/gulp-eslint/node_modules/eslint/lib/util/source-code.js
私はいくつかの奇妙な文字を参照してください:
/**
* Check to see if its a ES6 export declaration
* @param {ASTNode} astNode - qa�� B0�� ���7�sa�� B0�� ���7�sa�� B0�� ���7�va�� B0�� ���7|a�� B0���L0��
���$1y���=�s0��1A�$1����=�s0��1A�$1����=�L0���,����=���=�s0��1A�$1!���= B0����7�za��7�a��I\�î31A�$11A�$1�B�$1�B�$11s0��1A�$11A�$11s0��1A�$11A�$1!q0��1A�$1I���=p��g�)�node_modules/gulp-plumber/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-file/node_modules/graceful-fs$1��g�)�node_modules/gulp-plumber/node_modules/gulp-util/node_modules/dateformat/node_modules/meow/node_modules/read-pkg-up/node_modules/read-pkg/node_modules/load-json-filest:2iC0��@1A�$11s0��1A�$11A�$1!q0��1A�$1����=iC0���y%hc�3�@rU11]0��1A�$1Y�dZ4ٞ0��1A�$11A�$1�S��yA�$1���v<rCommentAfter = tokensAndCommentsStore.getTokenAfter;
// don't allow modification of this object
Object.freeze(this);
Object.freeze(this.lines);
}
/**
* Split the source code into multiple lines based on the line delimiters
* @param {string} text Source code as a string
* @returns {string[]} Array of source code lines
* @public
*/
SourceCode.splitLines = function(text) {
return text.split(/\r\n|\r|\n|\u2028|\u2029/g);
};
このプロセスを繰り返すと、同じファイル内でエラーが発生するとは限りませんが、ファイルnpm
がインストールされている間は常に間違った文字が表示されます。 次に、コンテナ内でbashを実行して、ファイルが破損している特定のモジュールを個別にnpm install
とすると、それらは固定され、gulp
が成功します。 代わりにnpm install
とgulp
をホストマシンで実行すると、すべて正常に動作します。 私は何が間違っていますか?
ドッキングウィンドウマシンRAMメモリに関連しているようです。 512MBの代わりに1024MBに設定すると、壊れた依存関係はありません。 – gztomas