概要
laradock,laravel5.7でnpm installを実行した際にpythonが見つからずエラーが発生したので、
その時対応した方法を記載します。
目次
環境
- docker
- docker-compose
- laradock
- laravel5.7
npm installで発生したエラー
Can't find Python executable "python", you can set the PYTHON env variable.が発生した。
$ docker-compose exec workspace npm install /... gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable. gyp ERR! stack at PythonFinder.failNoPython (/var/www/node_modules/node-gyp/lib/configure.js:484:19) gyp ERR! stack at PythonFinder.<anonymous> (/var/www/node_modules/node-gyp/lib/configure.js:406:16) gyp ERR! stack at F (/var/www/node_modules/which/which.js:68:16) gyp ERR! stack at E (/var/www/node_modules/which/which.js:80:29) gyp ERR! stack at /var/www/node_modules/which/which.js:89:16 gyp ERR! stack at /var/www/node_modules/isexe/index.js:42:5 gyp ERR! stack at /var/www/node_modules/isexe/mode.js:8:5 gyp ERR! stack at FSReqCallback.oncomplete (fs.js:161:21) gyp ERR! System Linux 4.9.93-linuxkit-aufs
エラーの原因
workspaceにpythonが入っていなかったため、npm install でエラーが発生した。
workspaceにpythonを入れて対応
laradockのworkspaceにpythonを入れる場合は、laradockの.envファイルを修正します。 WORKSPACE_INSTALL_PYTHONをtrueにしてください。
$ vi laradock/.env WORKSPACE_INSTALL_PYTHON=true
動作確認
$ docker-compose up -d --build nginx mysql workspace $ docker-compose exec workspace npm install added 76 packages from 101 contributors and audited 11708 packages in 204.251s found 0 vulnerabilities
これで正常にnpm installが完了しました。