LoginSignup
1
0

More than 3 years have passed since last update.

swagger-editorのnpm installでコケる場合に確認すべき点

Last updated at Posted at 2019-04-30
  • swagger-editor 3.6.27
  • git cloneしてnpm installしようとしてコケてしまった人向け

確認すべき点

私が遭遇した範囲では以下の3つ。

  1. Python 2.7系の有無
  2. C/C++のコンパイラ等の開発環境の有無
  3. Node.js/npmのバージョン

1. Python 2.7系の有無

swagger-editorが依存する一部のパッケージは、Node.jsのネイティブアドオンを利用しており、それらはnode-gypという、ネイティブコードをコンパイルするためのツールに依存している。

このnode-gypが動作するためにPython 2.7系が必要となる。次のコマンドで確認できる。(Vは大文字)

python -V

次のように出力されればOK。2.7.xであれば良く、細かいリビジョン番号まで一致する必要はない。

Python 2.7.10

python : command not foundとエラー出力される、あるいは2.7系以外のバージョンが表示される場合は、各プラットフォームごとの適当な方法でPython 2.7系をインストールする。

  • $注意点$
    • Mac OSXなど一部のプラットフォームではシステムが利用するためのPythonがデフォルトでインストールされている。システムのPythonとの競合を防ぐためにvirtualenvAnaconda等のPython環境を切り替えるツールを活用すると良い。そもそもシステムが利用するPythonは2.7系な気がするので、余計な心配かもしれない・・

2. C/C++のコンパイラ等の開発環境の有無

前述したnode-gypはPython 2.7系に加えて(当然だが)C/C++のコンパイラやMake等の開発環境を必要とする。

2.1. Mac / Linuxの場合

次のコマンドで確認できる。

make -v

次のようにmakeのバージョンやビルドターゲット環境が表示されればOK。もちろん細かい部分が違ってても良い。

GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for i386-apple-darwin11.3.0

make: command not foundとエラー出力される場合は、各プラットフォームごとの最適な方法でC/C++開発環境をインストールする。

一例としてUbuntuであればsudo apt install build-essential

2.2. Windows の場合

確認方法は色々ややこしいので省略。

手っ取り早く解決したいなら次のコマンドを実行する。管理者権限で実行した方が良さそう。

npm install --global --production windows-build-tools
  • 補足
    • node-gypwindowsあたりのキーワードでググると色々記事が出てくる。Visual Studioをインストールするとか色々出ててくるが、それらは古い情報なのでご安心を。2019年現在、一番簡単なのがこの方法。node-gypの公式のインストール手順にもある。
    • --productionオプションによりwindows-build-toolsのdevDependencies(=実行するだけなら不要)はインストールせずに済む。

3. Node.js/npmのバージョン

Readmeにあるように、swagger-editorに必要なNode.js/npmのバージョンは以下の通り。

  • Node.js 6.x
  • npm 3.x

確認方法は次の通り

node -v
npm -v

次のようにNode.js/npmがそれぞれ6.x/3.xのバージョンが表示されればOK。

> node -v
v6.17.1

> npm -v
3.10.10

異なるバージョンが表示された場合、Node.jsのバージョンを変更する。各プラットフォームごとにNode.jsバージョン管理ツールがあるので、そちらを利用するのがベター。

代表的なツールを次にあげる。もちろん他にもツールは色々ある。

プラットフォーム ツール名
Linux nvmなど
Mac nodebrewなど
Windows nodistなど
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0