I have been figuring out the installation of archanist with linters on my Windows 8.2 (64 bit) system. I ran into problem during arc diff
, when it said (over git bash, I was using):
EXCEPTION: (PhutilAggregateException) Some linters failed:
- ArcanistMissingLinterException: Unable to locate binary "jshint" to run linter ArcanistJSHintLinter. You may need to install the binary, or adjust your linter configuration.
TO INSTALL: Install JSHint using `npm install -g jshint`. at [<arcanist>\src\lint\engine\ArcanistLintEngine.php:264]
Then I tried install jshint through
npm install -g jshint
Then, a new error occurred, where it tries to execute the command jshint --version, then the error log was:
[2020-06-01 20:14:22] EXCEPTION: (CommandException) Command failed with error #1!
COMMAND
jshint --version
STDOUT
(empty)
STDERR
Call to "proc_open()" to open a subprocess failed: proc_open(): CreateProcess failed, error code - 2 at [<arcanist>\src\future\exec\ExecFuture.php:409]
arcanist(head=master, ref.master=0da1a2e17d92)
#0 ExecFuture::raiseResultError(array) called at [<arcanist>\src\future\exec\ExecFuture.php:313]
I then debugged it further, it uses proc_open method to execute the command, which returns bool(false). Even though I tried to run via shell:
jshint --version
It outputted: jshint v2.11.1
But same if proc_open does, it returned false.
php version : 5.4.9
arc version : arcanist 0da1a2e17d921dc27ce9afa76b123cb4c8b73b17 (30 May 2020)
My .arclint file contains this:
{
"linters":{
"jshint":{
"type":"jshint",
"include":"(\\.js$)"
},
"php":{
"type":"php",
"include":"(\\.php$)"
}
}
}