Medium / phantomjs

NPM wrapper for installing phantomjs
Other
1.43k stars 435 forks source link

require('phantomjs').path has wrong path inside vagrant #617

Closed GabLeRoux closed 7 years ago

GabLeRoux commented 7 years ago

Hey there, I'm trying to run protractor with webdriver and phantomjs and I can't get past this error:

> protractor protractor.conf.js --suite supplier,retailer --baseUrl http://localhost:8081 --multiCapabilities

[02:31:26] I/local - Starting selenium standalone server...
[02:31:26] I/launcher - Running 1 instances of WebDriver
[02:31:27] I/local - Selenium standalone server started at http://10.0.2.15:59695/wd/hub
[02:31:27] E/launcher - The driver executable does not exist: /home/gableroux/.npm-global/lib/node_modules/phantomjs/lib/phantom/bin/phantomjs
[02:31:27] E/launcher - WebDriverError: The driver executable does not exist: /home/gableroux/.npm-global/lib/node_modules/phantomjs/lib/phantom/bin/phantomjs
    at WebDriverError (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/error.js:27:5)
    at Object.checkLegacyResponse (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/error.js:639:15)
    at parseHttpResponse (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/http/index.js:538:13)
    at client_.send.then.response (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/http/index.js:472:11)
    at ManagedPromise.invokeCallback_ (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:1379:14)
    at TaskQueue.execute_ (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2913:14)
    at TaskQueue.executeNext_ (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2896:21)
    at asyncRun (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:2820:25)
    at /usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/promise.js:639:7
    at process._tickCallback (internal/process/next_tick.js:103:7)
From: Task: WebDriver.createSession()
    at Function.createSession (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver.js:329:24)
    at Builder.build (/usr/lib/node_modules/protractor/node_modules/selenium-webdriver/builder.js:458:24)
    at Local.DriverProvider.getNewDriver (/usr/lib/node_modules/protractor/built/driverProviders/driverProvider.js:37:33)
    at Runner.createBrowser (/usr/lib/node_modules/protractor/built/runner.js:190:43)
    at /usr/lib/node_modules/protractor/built/runner.js:264:30
    at _fulfilled (/usr/lib/node_modules/protractor/node_modules/q/q.js:834:54)
    at self.promiseDispatch.done (/usr/lib/node_modules/protractor/node_modules/q/q.js:863:30)
    at Promise.promise.promiseDispatch (/usr/lib/node_modules/protractor/node_modules/q/q.js:796:13)
    at /usr/lib/node_modules/protractor/node_modules/q/q.js:604:44
    at runSingle (/usr/lib/node_modules/protractor/node_modules/q/q.js:137:13)
[02:31:27] E/launcher - Process exited with error code 199
npm ERR! Test failed.  See above for more details.

Thing is:

node
>  require('phantomjs').path
'/home/gableroux/.npm-global/lib/node_modules/phantomjs/lib/phantom/bin/phantomjs'

but I'm in a vagrant right now!

uname -a
Linux vagrant 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1 (2015-05-24) x86_64 GNU/Linux
cd ~
➜  ~ pwd
/home/vagrant
which phantomjs
/usr/bin/phantomjs

Installed phantomjs using sudo npm i -g phantomjs.

GabLeRoux commented 7 years ago

Ok so turns out I had installed phantomjs as a node_modules requirement within my host (/home/gableroux machine), I deleted my node_modules folder and reinstalled from vagrant and it's working :)