私はphantomjsをWindows 7マシンにインストールしようとしていますが、このエラーが発生します。
_npm ERR! Windows_NT 6.1.7601
npm ERR! argv "C:\\Program Files (x86)\\nodist\\v\\nodev5.5.0\\node.exe" "C:\\Program Files (x86)\\nodist\\bin\\node_mod
ules\\npm\\bin\\npm-cli.js" "install"
npm ERR! node v5.5.0
npm ERR! npm v3.10.9
npm ERR! code ELIFECYCLE
npm ERR! [email protected] install: `node install.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'node install.js'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
_
同じまたは this SO question)のphantomjs githubリポジトリに記録された多くの問題がありますが、私の場合はどれも役に立ちません。
これが私のマシンの状態です
--phantomjs_cdnurl
_スイッチも使用できません https://www.npmjs。 com/package/phantomjs#deciding-where-to-get-phantomjsphantomjs -v
2.1.1
_しかし、プロジェクトで_npm install
_を実行すると、phantomjsがインストールされ、上記のエラーが発生します.npmログから別のことがわかりました
Considering PhantomJS found at C:\Program Files (x86)\nodist\bin\phantomjs.CMD Found PhantomJS at C:\Program Files (x86)\nodist\bin\phantomjs.CMD ...verifying Error verifying phantomjs, continuing { [Error: Command failed: C:\Program Files (x86)\nodist\bin\phantomjs.CMD --version
phantomjs.CMD --versionを実行しようとしていますが、これも失敗します
_Error verifying phantomjs, continuing { [Error: Command failed: C:\Program Files (x86)\nodist\bin\phantomjs.CMD --versio
n
internal/child_process.js:274
var err = this._handle.spawn(options);
^
TypeError: Bad argument
at TypeError (native)
at ChildProcess.spawn (internal/child_process.js:274:26)
at exports.spawn (child_process.js:362:9)
at Object.<anonymous> (C:\Program Files (x86)\nodist\bin\node_modules\phantomjs-prebuilt\bin\phantomjs:22:10)
at Module._compile (module.js:413:34)
at Object.Module._extensions..js (module.js:422:10)
at Module.load (module.js:357:32)
at Function.Module._load (module.js:314:12)
at Function.Module.runMain (module.js:447:10)
at startup (node.js:139:18)
]
killed: false,
code: 1,
signal: null,
cmd: 'C:\\Program Files (x86)\\nodist\\bin\\phantomjs.CMD --version' }
_
一時的な回避策として、--ignore-scriptsを使用してインストールすることができます
npm install [email protected] --ignore-scripts
同じ問題をgithubリポジトリにも記録しました
https://github.com/Medium/phantomjs/issues/649
この問題は、私が使用していたビルドプロセススクリプトの一部であり、npmクリーンアップを実行し、他の多くのことを毎回インストールします。したがって、この問題は、phantomjsを使用してテストを自動化した同じマシンで何度も発生します。私はこの問題を調査する時間を得ましたが、私の会社のプロキシが https://github.com/Medium/phantomjs/releases/download/v2.1.1/phantomjs-2.1.1-からのダウンロードをブロックしているようですwindows.Zip 。私は以前にこれを知っていて、手動でphantomjsバイナリをインストールし、システムパスに追加しましたが、npmインストールは、以下のログに示すようにローカルにダウンロードしようとしました。
Considering PhantomJS found at C:\npm\phantomjs-2.1.1-windows\bin\phantomjs.EXE
Looks like an `npm install -g` on windows; skipping installed version.
私の企業プロキシがすべてのphantomjs CDN urlもブロックしていました( https://www.npmjs.com/package/phantomjs )
私が使用した回避策は、phantomjs-2.1.1-windows.Zipを取得してにコピーすることでしたC:\ Users\<username>\AppData\Local\Temp\phantomjs\phantomjs-2.1.1-windows.Zipこれで、ビルドスクリプトの問題が解決しました。ディレクトリ、問題が戻ってきます。これも回避策ですが、企業プロキシは明らかな理由でブロックを解除できません:)
これが誰かを助けることを願っています!
私は同じエラーに遭遇しました、それは次の変更によって解決されます、それがあなたを助けることを願っています。
Sudo npm install [email protected] --unsafe-perm