Facebook recently announced Nuclide, that supports Remote Development and Hack.
I have followed all the installation instructions, but autocomplete/inline error report/click-to-definition
features do not work, whereas nuclide-language-hack, nuclide-file-tree/nuclide-remote-projects
work as expected (and nuclide-server
from the server part / .hhconfig
file is included on project root ).
I have installed them all except flow
by filtering the results of nuclide-
.
Are these features unsupported in remote access, or i have made something wrong in installation (which is pretty straightforward i think) ?
Moreover, i do not understand how watchman is configured to work properly . I have installed it using the following commands (server runs Linux, i have also installed inotify-tools
)
$ git clone https://github.com/facebook/watchman.git
$ cd watchman
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install
and i used the following to watch my project
$ watchman watch /my/project/root
and watcher seems to be established fine.
However Nuclide reports:
Watcher failed to start - watcher features disabled!
Details: socket hang up
I am sorry that i ask installation advices here, but i do not think the above should be asked on Github either.
Thanks!
Solution: As MostafaEweda suggested, i tried to compile from source. apm
or package installation through atom settings, did not work for me. nuclide-installer
did not install anything at all, and installing by hand nuclide-*
packages did not work either.
For Windows Users
: Python3.4 throws some runtime errors (although documentation says Python 2.6 or later is supported). I used Python2.7 and these errors seem to go away.
Tip : When you install nuclide, you have to wait some minutes and atom will become unresponsive. Be patient!
It seems that Nuclide's WatchmanClient can't connect to your installed watchman for some reason.
Note that the tests for WatchmanClient
is currently disabled, but maybe it will show some useful error when you remove the x
from line 20 of WatchmanClient-spec.js and run: npm test
in the watchman-helpers
directory or add some logging or stack trace in the _command
function.
However, all of these are unrelated to the Hack features not working for you.
I recommend trying to build Nuclide from source by:
git clone git@github.com:facebook/nuclide.git ~/nuclide && cd ~/nuclide && ./scripts/dev/setup
Then, use /home/$USER/pkg/nuclide/server/nuclide-start-server
as the remote server command.
Finally, the contents of log files: ~/nuclide.nohup.out
and /tmp/nuclide-logs/nuclide.log
on your client and server could help you understand what's going on.