swagger-editorのnpm installでコケる場合に確認すべき点
- swagger-editor 3.6.27
-
git clone
してnpm install
しようとしてコケてしまった人向け
確認すべき点
私が遭遇した範囲では以下の3つ。
- Python 2.7系の有無
- C/C++のコンパイラ等の開発環境の有無
- 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との競合を防ぐために
virtualenv
やAnaconda
等のPython環境を切り替えるツールを活用すると良い。そもそもシステムが利用するPythonは2.7系な気がするので、余計な心配かもしれない・・
- Mac OSXなど一部のプラットフォームではシステムが利用するためのPythonがデフォルトでインストールされている。システムのPythonとの競合を防ぐために
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-gyp
windows
あたりのキーワードでググると色々記事が出てくる。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など |
Author And Source
この問題について(swagger-editorのnpm installでコケる場合に確認すべき点), 我々は、より多くの情報をここで見つけました https://qiita.com/ytkj/items/f0ae74a5618130060655著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .