質問編集履歴

1 試したことに記載漏れがあったため追記

piaxwg

piaxwg score 4

2018/11/23 14:16  投稿

(Mac)npmからbleaconがインストール出来ない
### 前提・実現したいこと
Macをibeacon化するために下記のQiitaのページを参考に、
homebrewやnodebrewなどをインストールして、bleaconをインストールしようとしていました。
npm install bleaconを実行したところ、下記のエラーメッセージが出力されました。
エラーメッセージの4行目辺りにあるように、XcodeのCommandLineToolsに原因があるようなメッセージだったのですが、
homebrewインストール後にbrew doctorコマンドで "Your system is ready to brew"が表示されたことや、
softwareupdateコマンドで、アップデート可能なソフトウェアを探しても、無いと出力されてしまいます。
何か他に見落としていることや、解決策があればご教示いただけるとありがたいです。
よろしくお願いします。
### 発生している問題・エラーメッセージ
```
エラーメッセージ
$ npm install bleacon
> xpc-connection@0.1.4 install /Users/xxxxxxxx/ibeacon/node_modules/xpc-connection
> node-gyp rebuild
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
Traceback (most recent call last):
 File "/Users/xxxxxxxx/.nodebrew/node/v8.9.3/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py", line 16, in <module>
   sys.exit(gyp.script_main())
 File "/Users/xxxxxxxx/.nodebrew/node/v8.9.3/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 545, in script_main
   return main(sys.argv[1:])
 File "/Users/xxxxxxxx/.nodebrew/node/v8.9.3/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 538, in main
   return gyp_main(args)
 File "/Users/xxxxxxxx/.nodebrew/node/v8.9.3/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 523, in gyp_main
   generator.GenerateOutput(flat_list, targets, data, params)
 File "/Users/xxxxxxxx/.nodebrew/node/v8.9.3/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py", line 2170, in GenerateOutput
   part_of_all=qualified_target in needed_targets)
 File "/Users/xxxxxxxx/.nodebrew/node/v8.9.3/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py", line 795, in Write
   self.Pchify))
 File "/Users/xxxxxxxx/.nodebrew/node/v8.9.3/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py", line 1190, in WriteSources
   cflags = self.xcode_settings.GetCflags(configname)
 File "/Users/xxxxxxxx/.nodebrew/node/v8.9.3/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py", line 551, in GetCflags
   archs = self.GetActiveArchs(self.configname)
 File "/Users/xxxxxxxx/.nodebrew/node/v8.9.3/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py", line 420, in GetActiveArchs
   xcode_archs_default = GetXcodeArchsDefault()
 File "/Users/xxxxxxxx/.nodebrew/node/v8.9.3/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py", line 118, in GetXcodeArchsDefault
   xcode_version, _ = XcodeVersion()
 File "/Users/xxxxxxxx/.nodebrew/node/v8.9.3/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py", line 1265, in XcodeVersion
   version = re.match(r'(\d\.\d\.?\d*)', version).groups()[0]
AttributeError: 'NoneType' object has no attribute 'groups'
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack    at ChildProcess.onCpExit (/Users/xxxxxxxx/.nodebrew/node/v8.9.3/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:336:16)
gyp ERR! stack    at emitTwo (events.js:126:13)
gyp ERR! stack    at ChildProcess.emit (events.js:214:7)
gyp ERR! stack    at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
gyp ERR! System Darwin 18.2.0
gyp ERR! command "/Users/xxxxxxxx/.nodebrew/node/v8.9.3/bin/node" "/Users/xxxxxxxx/.nodebrew/node/v8.9.3/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/xxxxxxxx/ibeacon/node_modules/xpc-connection
gyp ERR! node -v v8.9.3
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
> bignum@0.11.0 install /Users/xxxxxxxx/ibeacon/node_modules/bignum
> node-gyp configure build
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
Traceback (most recent call last):
 File "/Users/xxxxxxxx/.nodebrew/node/v8.9.3/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py", line 16, in <module>
   sys.exit(gyp.script_main())
 File "/Users/xxxxxxxx/.nodebrew/node/v8.9.3/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 545, in script_main
   return main(sys.argv[1:])
 File "/Users/xxxxxxxx/.nodebrew/node/v8.9.3/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 538, in main
   return gyp_main(args)
 File "/Users/xxxxxxxx/.nodebrew/node/v8.9.3/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 523, in gyp_main
   generator.GenerateOutput(flat_list, targets, data, params)
 File "/Users/xxxxxxxx/.nodebrew/node/v8.9.3/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py", line 2170, in GenerateOutput
   part_of_all=qualified_target in needed_targets)
 File "/Users/xxxxxxxx/.nodebrew/node/v8.9.3/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py", line 795, in Write
   self.Pchify))
 File "/Users/xxxxxxxx/.nodebrew/node/v8.9.3/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py", line 1190, in WriteSources
   cflags = self.xcode_settings.GetCflags(configname)
 File "/Users/xxxxxxxx/.nodebrew/node/v8.9.3/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py", line 551, in GetCflags
   archs = self.GetActiveArchs(self.configname)
 File "/Users/xxxxxxxx/.nodebrew/node/v8.9.3/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py", line 420, in GetActiveArchs
   xcode_archs_default = GetXcodeArchsDefault()
 File "/Users/xxxxxxxx/.nodebrew/node/v8.9.3/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py", line 118, in GetXcodeArchsDefault
   xcode_version, _ = XcodeVersion()
 File "/Users/xxxxxxxx/.nodebrew/node/v8.9.3/lib/node_modules/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py", line 1265, in XcodeVersion
   version = re.match(r'(\d\.\d\.?\d*)', version).groups()[0]
AttributeError: 'NoneType' object has no attribute 'groups'
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack    at ChildProcess.onCpExit (/Users/xxxxxxxx/.nodebrew/node/v8.9.3/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:336:16)
gyp ERR! stack    at emitTwo (events.js:126:13)
gyp ERR! stack    at ChildProcess.emit (events.js:214:7)
gyp ERR! stack    at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
gyp ERR! System Darwin 18.2.0
gyp ERR! command "/Users/xxxxxxxx/.nodebrew/node/v8.9.3/bin/node" "/Users/xxxxxxxx/.nodebrew/node/v8.9.3/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "build"
gyp ERR! cwd /Users/xxxxxxxx/ibeacon/node_modules/bignum
gyp ERR! node -v v8.9.3
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
npm WARN enoent ENOENT: no such file or directory, open '/Users/xxxxxxxx/ibeacon/package.json'
npm WARN ibeacon No description
npm WARN ibeacon No repository field.
npm WARN ibeacon No README data
npm WARN ibeacon No license field.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: bluetooth-hci-socket@0.5.1 (node_modules/bluetooth-hci-socket):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for bluetooth-hci-socket@0.5.1: wanted {"os":"linux,android,win32","arch":"any"} (current: {"os":"darwin","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: xpc-connection@0.1.4 (node_modules/xpc-connection):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: xpc-connection@0.1.4 install: `node-gyp rebuild`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! bignum@0.11.0 install: `node-gyp configure build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the bignum@0.11.0 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR!    /Users/xxxxxxxx/.npm/_logs/2018-11-17T14_26_09_432Z-debug.log
```
### 試したこと
①homebrewやnodebrew、node.jsのインストール
(http://mmorley.hatenablog.com/entry/2016/11/22/233034)
上記を参考に、homebrewなどのインストールを行いました。
インストールする際に
([http://mmorley.hatenablog.com/entry/2016/11/22/233034](http://mmorley.hatenablog.com/entry/2016/11/22/233034))
上記を参考に、homebrewなどのインストールをました。
インストール時にhomebre doctorで"Your system is ready to brew."が出力されることを確認。
//以下記入が漏れていたため追記(2018.11.23)  
②nodebrewをインストールし、そこからさらにnode.jsをインストール  
(※Qiitaのいくつかの記事でバージョンが新しすぎるとbleaconがインストールできない旨の記事を見かけたので  
v8.9.3やv8.11.3をインストールし使用するようnodebrewから設定)  
([https://qiita.com/n0bisuke/items/e6298f13be6822965045](https://qiita.com/n0bisuke/items/e6298f13be6822965045))  
③ターミナルでnpm install bleaconを入力してbleaconをインストールしようとしたところ、
上記の発生しているエラーメッセージの
> xcode-select: error: tool 'xcodebuild'~
$ softwareupdate -l
Software Update Tool
が出力されたことから、ターミナル上でMacのソフトウェアでアップデート可能なものを検索
(ターミナルでsoftwareupdate -lを入力)したところアップデートが可能なソフトウェアはない旨のメッセージが出力された
> Software Update Tool
Finding available software
No new software available.
> Finding available software
> No new software available.
そもそもソフトウェアのアップデートなどが必要な場合、①のhomebrewのインストール時に
brew doctorコマンドで何かしらのエラーが出力されると思われるので、
ソフトウェアのアップデートが必要だとは思われない。
(使用しているOSが2018年11月18日時点で最新のMojaveのため、対応していない可能性あり?)
### 補足情報(FW/ツールのバージョンなど)
各ソフトウェアのバージョンは以下の通りです。
MacOS:10.14.1(Mojave)
Xcode:10.1
homebrew:1.8.2
nodebrew:8.9.4
node.js:8.9.3
npm:5.6.0
  • MacOS(OSX)

    2566 questions

    MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

  • Node.js

    2603 questions

    Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

  • npm

    424 questions

    npmは、Node Packaged Modulesの略。Node.jsのライブラリ・パッケージを管理できるツールです。様々なモジュールを簡単にインストールでき、自分でモジュールを作成し公開する際にも使用できます。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る