我无法运行任何反应原生项目。 它说已经有一个进程在运行。端口8081由我的MAC上运行的McAfee防病毒软件占用。而且我决不能杀死它(即使我不应该杀死它,我试过它,看起来它永远不会死!毕竟SUDO没有力量!)
参考#7308 #9145和stackoverflow,我尝试在端口8082上运行。服务器启动,但是, run-android 仍然无法拒绝找到设备。 我有我的设备(打开调试模式的Galaxy S7 Edge)和Genymotion打开。
React Native version details -
SATJAGAN-M-T0HZ:react-native-card-modal satjagan$ react-native -v
react-native-cli: 1.0.0
react-native: 0.37.0
Genymotion活跃且可用 -
bozzmob:Twitter bozzmobusr$ adb devices
List of devices attached
192.168.57.101:5555 device
运行应用程序的终端日志 (有趣的是它说 JS服务器无法识别,那里有什么问题吗?)
bozzmob:Twitter bozzmobusr$ react-native start --port 8082
Scanning 712 folders for symlinks in /Users/satjagan/collection/work/github/reactnative/react-native-card-modal/node_modules (15ms)
┌────────────────────────────────────────────────────────────────────────────┐
│ Running packager on port 8082. │
│ │
│ Keep this packager running while developing on any JS projects. Feel │
│ free to close this tab and run your own packager instance if you │
│ prefer. │
│ │
│ https://github.com/facebook/react-native │
│ │
└────────────────────────────────────────────────────────────────────────────┘
Looking for JS files in
/Users/satjagan/collection/work/github/reactnative/react-native-card-modal
[Hot Module Replacement] Server listening on /hot
React packager ready.
[11/26/2016, 2:47:25 PM] <START> Initializing Packager
[11/26/2016, 2:47:25 PM] <START> Building in-memory fs for JavaScript
[11/26/2016, 2:47:25 PM] <END> Building in-memory fs for JavaScript (184ms)
[11/26/2016, 2:47:25 PM] <START> Building Haste Map
[11/26/2016, 2:47:25 PM] <END> Building Haste Map (425ms)
[11/26/2016, 2:47:25 PM] <END> Initializing Packager (741ms)
bozzmob:Twitter bozzmobusr$ react-native run-android
**JS server not recognized, continuing with build...**
Running adb -s 192.168.57.101:5555 reverse tcp:8081 tcp:8081
Building and installing the app on the device (cd android && ./gradlew installDebug...
Could not install the app on the device, read the error above for details.
Make sure you have an Android emulator running or a device connected and have
set up your Android development environment.
Go to https://facebook.github.io/react-native/docs/getting-started.html
and check the Android tab for setup instructions.
不幸的是卸载McAfee不是一个选择:( 如果我有自由,我会先做这件事。
答案 0 :(得分:1)
React-Native仍在尝试连接到8081.
上的打包程序。通常,您打开开发菜单并指定其他端口,但在您的情况下,您甚至无法启动。
看起来您无法指定端口。我想你可能有两种选择:
答案 1 :(得分:1)
我有类似的问题。我无法通过kill命令停止McAfee进程。这是因为它作为服务运行。但是可以通过protected virtual void AddSubjectBody()
{
var container = FindViewById<FrameLayout>(Resource.Id.SubjectBodyContainer);
var subjectBody = new SubjectBody(Resource.Layout.SubjectBody, this, null);
subjectBody.DataContext = new SubjectBodyViewModel();
container.AddView(subjectBody, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MatchParent, ViewGroup.LayoutParams.MatchParent));
}
工具停止它。试试这个:
lanuchctl
它将停止正在使用8081端口的McAfee进程。
答案 2 :(得分:0)
以下是指定非默认包装程序位置应执行的操作:
(物理地摇动设备)&gt;开发设置&gt;调试服务器主机&amp;设备端口&gt; IP:端口
.apk
手动复制到设备上,然后在安装后继续执行说明。答案 3 :(得分:0)
我发现在几乎所有情况下,您都知道该应用程序应使用您当前的项目设置和代码运行,如果它不起作用,请尝试:
killall -9 node
因为Metro Bundler节点进程可能是问题所在。有时会被捆扎起来。
这就是我的工作,但是您可以更具体地查看持有端口8081
的进程并杀死它们。 (尝试使用类似sudo lsof -n -i4TCP:8081
的命令(引用:lsof definition)。如果您在本地主机上运行一些node.js API,则在杀死所有节点进程时可能要格外小心,但是如果您只是进行React Native开发,您可以放心地这样做。