一、PhantomJS下載地址html
按照系統下載對應的版本, macOS 下載: phantomjs-2.1.1-macosx.zip Windows下載:phantomjs-2.1.1-windows.zip 並解壓到用戶目錄下面, macOS 解壓路徑: /User/xxx/phantomjs-2.1.1-macosx Windows 解壓路徑: D:\phantomjs-2.1.1-windows ,並重命名爲 D:\phantomjs
二、PhantomJS不須要安裝,解壓便可使用node
在「系統變量」選項區域中查看PATH變量,若是不存在,則新建變量 PATH, 不然選中該變量,單擊「編輯」按鈕,在「變量值」文本框的起始位置添加 D:\phantomjs\bin,開始-運行-輸入cmd,輸入 phantomjs --version, 若是能夠看到版本號,則安裝成功。
若是用戶目錄下存在 .bash_profile ,好比個人/User/xxx/.bash_profile,則添加一行 export PATH="$PATH:/Users/xxx/phantomjs-2.1.1-macosx/bin" 不然新建 .bash_profile,而後在添加上文 在terminal中輸入 phantomjs --version 若是能夠看到版本號,則安裝成功。
三、使用npm安裝的時候如何環境變量中沒有phantomjs,就會從github下載安裝phantomjs,可是你懂的?,大多數狀況下會超時,即便把npm的鏡像改爲淘寶的仍是同樣的結果git
PhantomJS not found on PATH Downloading https://github.com/Medium/phantomjs/releases/download/v2.1.1/phantomjs-2.1.1-macosx.zip Saving to /var/folders/hn/55rkvgy97797tgx6cld83zl80000gn/T/phantomjs/phantomjs-2.1.1-macosx.zip
而後聰明的你想到可使用 npm install -g phantomjs , 但是現實告訴你github
npm WARN deprecated phantomjs@2.1.7: Package renamed to phantomjs-prebuilt. Please update 'phantomjs' package references to 'phantomjs-prebuilt' npm WARN deprecated tough-cookie@2.2.2: ReDoS vulnerability parsing Set-Cookie https://nodesecurity.io/advisories/130 npm WARN deprecated node-uuid@1.4.8: Use uuid module instead /usr/local/bin/phantomjs -> /usr/local/lib/node_modules/phantomjs/bin/phantomjs > phantomjs@2.1.7 install /usr/local/lib/node_modules/phantomjs > node install.js Considering PhantomJS found at /usr/local/bin/phantomjs Looks like an `npm install -g` Error checking path, continuing { Error: Cannot find module '/usr/local/lib/node_modules/phantomjs/lib/location' at Function.Module._resolveFilename (module.js:469:15) at Function.Module._load (module.js:417:25) at Module.require (module.js:497:17) at require (internal/module.js:20:19) at getLocationInLibModuleIfMatching (/usr/local/lib/node_modules/phantomjs/install.js:332:19) at Promise._successFn (/usr/local/lib/node_modules/phantomjs/install.js:389:28) at nextTickCallback (/usr/local/lib/node_modules/phantomjs/node_modules/kew/kew.js:47:28) at _combinedTickCallback (internal/process/next_tick.js:67:7) at process._tickCallback (internal/process/next_tick.js:98:9) code: 'MODULE_NOT_FOUND' } Downloading https://github.com/Medium/phantomjs/releases/download/v2.1.1//phantomjs-2.1.1-macosx.zip Saving to /usr/local/lib/node_modules/phantomjs/phantomjs/phantomjs-2.1.1-macosx.zip Receiving...
又回到了原點,是否是npm的問題?我用cnpm試一下看看macos
而後聰明的你想到可使用 cnpm install -g phantomjs,現實是這樣npm
Downloading phantomjs to /usr/local/lib/node_modules/phantomjs_tmp Copying /usr/local/lib/node_modules/phantomjs_tmp/.2.1.7@phantomjs to /usr/local/lib/node_modules/phantomjs Installing phantomjs's dependencies to /usr/local/lib/node_modules/phantomjs/node_modules [1/8] progress@~1.1.8 installed at node_modules/.1.1.8@progress ... [8/8] request@~2.67.0 installed at node_modules/.2.67.0@request execute post install 1 scripts... [1/1] scripts.install phantomjs@2.1.7+deprecated run "node install.js" PhantomJS not found on PATH Phantom installation failed TypeError: Path must be a string. Received undefined at assertPath (path.js:7:11) at Object.join (path.js:1211:7) Install fail! Error: post install error, please remove node_modules before retry! Run "sh -c node install.js" error, exit code 1 Error: post install error, please remove node_modules before retry! Run "sh -c node install.js" error, exit code 1 at ChildProcess.proc.on.code (/usr/local/lib/node_modules/cnpm/ at Process.ChildProcess._handle.onexit (internal/child_process.js:226:5) npminstall version: 2.26.2 npminstall args: /usr/local/bin/node /usr/local/lib/node_modules/cnpm/node_modules/npminstall/bin/install.js --china --userconfig=/Users/azmake/.cnpmrc --disturl=https://npm.taobao.org/mirrors/node --registry=https://registry.npm.taobao.org -g phantomjs
看到提示windows
Install fail! Error: post install error, please remove node_modules before retry!
什麼鬼?不陪你玩了bash
sudo npm uninstall -g phantomjs sudo cnpm uninstall -g phantomjs sudo rm -rf /usr/local/lib/node_modules/phantomjs
而後你又想到可使用HomeBrew
安裝cookie
brew install phantomjs
ok,安裝完成,打開terminal,輸入 phantomjs --version,能夠看到版本號,一塊兒正常,能夠愉快的玩耍了,而後你又愉快的開始 npm install 了,而後你又發現 使用phantomjs的項目裏面 could not verify phantomjs,而後ide
Downloading https://github.com/Medium/phantomjs/releases/download/v2.1.1//phantomjs-2.1.1-macosx.zip Saving to /usr/local/lib/node_modules/phantomjs/phantomjs/phantomjs-2.1.1-macosx.zip Receiving...
一、可使用cnpm install 安裝使用phantomjs的項目的node_modules,cnpm 會 使用phantomjs-prebuilt代替phantomjs,而且不中途翻車
二、下載安裝phantomjs,並配置環境變量,這樣無論是cnpm install仍是npm install均可以使用phantomjs,並且在pycharm裏面也不會報找不到phantomjs的錯誤