web-dev-qa-db-ja.com

[email protected]インストールスクリプト「node install.js」で失敗しました

私は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リポジトリに記録された多くの問題がありますが、私の場合はどれも役に立ちません。

これが私のマシンの状態です

  • C:\ npm\phantomjs-2.1.1-windows\bin\phantomjs.exeにphantomjsをローカルにインストールしていますが、npm installを実行すると、私の会社のプロキシが直接ダウンロードをブロックしているので、ダウンロードによってインストールが常に試行されます。ここに記載されている_--phantomjs_cdnurl_スイッチも使用できません https://www.npmjs。 com/package/phantomjs#deciding-where-to-get-phantomjs
  • コマンドを実行でき、正常に動作します_phantomjs -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' }
_
8
Rohith

一時的な回避策として、--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これで、ビルドスクリプトの問題が解決しました。ディレクトリ、問題が戻ってきます。これも回避策ですが、企業プロキシは明らかな理由でブロックを解除できません:)

これが誰かを助けることを願っています!

15
Rohith

私は同じエラーに遭遇しました、それは次の変更によって解決されます、それがあなたを助けることを願っています。

Sudo npm install [email protected] --unsafe-perm
0
Bhagvat Lande