parceljs - 包裹:无法使用配置的端口 1234
问题描述
我需要在端口上运行我的 ReactJS 应用程序,1234
但是当我运行时yarn dev
,我得到以下信息:
$ 包裹 src/index.html --port 1234
在http://localhost:2493运行的服务器- 无法使用配置的端口 1234。
√ 内置 11.45 秒。
它没有告诉我为什么它不能在 port 上运行1234
,所以我怀疑该端口可能已经在使用中。根据这个答案,下面应该告诉我哪个进程正在使用该端口。
Get-Process -Id (Get-NetTCPConnection -LocalPort portNumber).OwningProcess
但这并没有帮助,它给出了以下信息:
Get-NetTCPConnection:没有找到属性“LocalPort”等于“1234”的 MSFT_NetTCPConnection 对象。验证属性的值并重试。
我猜这意味着没有进程绑定到 port 1234
。但如果是这样的话,为什么我不能绑定到那个端口呢?
我package.json
的如下:
{
"name": "bejebeje.react",
"version": "1.0.0",
"description": "bejebeje's react-js frontend",
"main": "index.js",
"repository": "git@github.com:JwanKhalaf/Bejebeje.React.git",
"author": "John",
"license": "GPL-3.0",
"dependencies": {
"@fortawesome/fontawesome-svg-core": "^1.2.19",
"@fortawesome/free-brands-svg-icons": "^5.9.0",
"@fortawesome/free-solid-svg-icons": "^5.9.0",
"@fortawesome/pro-light-svg-icons": "^5.9.0",
"@fortawesome/pro-regular-svg-icons": "^5.9.0",
"@fortawesome/pro-solid-svg-icons": "^5.9.0",
"@fortawesome/react-fontawesome": "^0.1.4",
"@reach/router": "^1.2.1",
"oidc-client": "^1.8.2",
"react": ">=16",
"react-dom": "^0.14.9 || ^15.3.0 || ^16.0.0-rc || ^16.0",
"react-icons": "^3.7.0",
"styled-components": "^4.3.2"
},
"scripts": {
"dev": "parcel src/index.html --port 1234",
"build": "parcel build src/index.html"
},
"devDependencies": {
"@fortawesome/fontawesome-pro": "^5.9.0",
"axios": "^0.19.0",
"parcel-bundler": "^1.12.3",
"prettier": "^1.16.4",
"sass": "^1.22.5"
}
}
解决方案
在创建了一个尝试绑定到端口的小型 C# Web 服务器后,1234
我仍然无法让它工作。它会尝试绑定,但会抛出异常:
试图以访问权限禁止的方式访问套接字。
无论如何,经过大量的痛苦和研究,这里终于奏效了:
首先,禁用 hyper-v(这将重新启动您的 PC,因此请确保保存所有工作)。在 PowerShell(以管理员身份)中运行以下命令:
dism.exe /Online /Disable-Feature:Microsoft-Hyper-V
当您的 PC 重新启动时,您需要保留所需的端口,以便 hyper-v 不会将其保留回来,再次以管理员身份通过 PowerShell,运行以下命令:
netsh int ipv4 add excludedportrange protocol=tcp startport=50051 numberofports=1
现在终于以管理员身份再次通过 PowerShell 重新启用 hyper-V(PC 将重新启动):
dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All
当您的 PC 完成并备份后,您应该能够成功绑定到该端口。
推荐阅读
- angular - Angular 5,如何为 http 调用加锁
- laravel - 如何在 docker 容器中使用 php artisan serve?
- php - 将 HTML 响应转换为 PHP 数组
- .net - .NET Regex - 匹配后获取字符串
- python - UnicodeDecodeError:“utf-8”编解码器无法解码位置 0 中的字节 0xd1:无效的继续字节
- wordpress - 在 WooCommerce 中出现错误 401(身份验证错误)
- java - 多次截图程序
- html - 可扩展文本的标题文本大小
- tsql - 如何在 SQL Server 中拒绝用户组几个小时的写入权限
- react-native - 如何使用 react-native-admob 显示 admob 插页式广告?