核素IDE&使用Watchman进行远程服务器设置

时间:2015-06-29 20:50:08

标签: hhvm hacklang watchman nuclide-editor

Facebook最近发布了Nuclide,它支持远程开发和Hack。

我已按照所有安装说明操作,但autocomplete/inline error report/click-to-definition功能不起作用,而nuclide-language-hack, nuclide-file-tree/nuclide-remote-projects按预期工作(而nuclide-server来自服务器部件/ .hhconfig文件包含在项目根目录中。

我已通过过滤flow的结果安装了nuclide-以外的所有内容。

这些功能在远程访问中是否不受支持,或者我在安装时出错了(我认为这非常简单)?

此外,我不明白watchman如何配置才能正常工作。我使用以下命令安装它(服务器运行Linux,我还安装了inotify-tools

$ git clone https://github.com/facebook/watchman.git
$ cd watchman
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install

我使用以下内容来观看我的项目

$ watchman watch /my/project/root

和观察者似乎建立得很好。

然而,核素报告:

  

Watcher无法启动 - 观察者功能已停用!

     

详细信息:socket挂断

对不起,我在这里询问安装建议,但我认为不应该在Github上询问上述内容。

谢谢!

解决方案:正如MostafaEweda建议的那样,我试图从源代码编译。 apm或通过原子设置安装包,对我来说不起作用。 nuclide-installer根本没有安装任何内容,而且手动安装nuclide-*包也不起作用。

对于Windows Users:Python3.4会抛出一些运行时错误(尽管文档说支持Python 2.6或更高版本)。我使用Python2.7,这些错误似乎消失了。

提示:安装核素时,您必须等待几分钟,原子才会无响应。请耐心等待!

1 个答案:

答案 0 :(得分:2)

由于某些原因,似乎核素的WatchmanClient无法连接到已安装的守望者。

请注意,WatchmanClient的测试目前已停用,但当您从WatchmanClient-spec.js的第20行移除x并运行时,它可能会显示一些有用的错误:{{1}在npm test目录中或在watchman-helpers函数中添加一些日志记录或堆栈跟踪。

但是,所有这些都与Hack功能无关。

我建议尝试通过以下方式构建核素:

_command

然后,使用git clone git@github.com:facebook/nuclide.git ~/nuclide && cd ~/nuclide && ./scripts/dev/setup作为远程服务器命令。

最后,客户端和服务器上的日志文件:/home/$USER/pkg/nuclide/server/nuclide-start-server~/nuclide.nohup.out的内容可以帮助您了解正在发生的事情。