Ошибка "Адрес уже используется" при использовании cookiecutter-flask - PullRequest
0 голосов
/ 01 апреля 2019

Я на OS X 10.14.3.Я пытаюсь использовать изящный проект cookiecutter-flask .Я следовал инструкциям в README.rst:

cookiecutter https://github.com/sloria/cookiecutter-flask.git
# I named my test ccflask, and used pipenv
cd ccflask
cp .env.example .env
pipenv install --dev
npm install
npm start

README говорит, что на этом этапе «Вы увидите симпатичный экран приветствия».Вместо этого он просто обслуживает структуру каталогов внутри ccflask/.

enter image description here

Похоже, что фляга никогда не запускается:

[FLASK] Loading .env environment variables...
[WEBPACK] Project is running at http://localhost:2992/
[WEBPACK] webpack output is served from http://localhost:2992/static/build/
[FLASK]  * Serving Flask app "autoapp.py" (lazy loading)
[FLASK]  * Environment: development
[FLASK]  * Debug mode: on
[FLASK] Traceback (most recent call last):
[FLASK]   File "/Users/nick/.local/share/virtualenvs/ccflask-bmCIsVly/bin/flask", line 10, in <module>
[FLASK]     sys.exit(main())
[…stack…]
[FLASK]     s.bind(get_sockaddr(hostname, port, address_family))
[FLASK] OSError: [Errno 48] Address already in use
[FLASK] npm ERR! code ELIFECYCLE
[FLASK] npm ERR! errno 1
[FLASK] npm ERR! ccflask@1.0.0 flask-server: `pipenv run flask run`
[FLASK] npm ERR! Exit status 1
[FLASK] npm ERR! 
[FLASK] npm ERR! Failed at the ccflask@1.0.0 flask-server script.
[FLASK] npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

Я новичок в npm и webpack, поэтому мне не совсем понятно, в чем проблема.Когда я ищу 2992, я нахожу его в package.json:

"webpack-dev-server": "NODE_ENV=debug webpack-dev-server --port 2992 --hot --inline",

, а также webpack.config.js:

const publicHost = debug ? 'http://localhost:2992' : '';

Я не знаю, выглядит ли это правильно, но япредположить так?В консоли указано, что и приложение фляги, и сервер разработки веб-пакетов обслуживаются из разных папок на одном и том же порту.У меня определенно больше ничего не работает на 2992, потому что как только я убиваю npm, localhost: 2992 перестает отвечать на веб-запросы.Я также сгладил вывод ps, чтобы быть уверенным.Похоже, что процесс npm start пытается запустить две службы с использованием одного и того же порта.

Может ли какая-то зависимость измениться?Во время npm install я получил следующие предупреждения:

npm WARN css-loader@1.0.1 requires a peer of webpack@^4.0.0 but none is installed. You must install peer dependencies yourself.
npm WARN less-loader@2.2.3 requires a peer of less@^2.3.1 but none is installed. You must install peer dependencies yourself.
npm WARN url-loader@1.1.2 requires a peer of webpack@^3.0.0 || ^4.0.0 but none is installed. You must install peer dependencies yourself.

Но в node_modules есть каталог webpack, а также webpack-sources и webpack-dev-* ..., так что у меня нет идей.

Любая помощь будет принята с благодарностью.

1 Ответ

0 голосов
/ 26 апреля 2019

Действительно был конфликт портов, но не с 2992. Проблема заключалась в том, что я уже запускал другое приложение фляги на порту 5000. Как только я отключил это, код cookiecutter работал как ожидалось.Благодаря kkremitzki на GitHub, который помог мне разобраться с этим.

...