20200707のMacに関する記事は7件です。

brew doctorでWarningが表示されたので解決した方法をメモ

brewでnodeをインストールしようとしたらエラーが発生しました。

ターミナル
$ brew doctor

で確認すると以下のようなWarningが表示されたので、解決した方法を備忘録として残しておきます。

ターミナル
Warning: Unbrewed header files were found in /usr/local/include.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected header files:
  /usr/local/include/node/js_native_api.h
  /usr/local/include/node/js_native_api_types.h
  /usr/local/include/node/libplatform/libplatform-export.h
  /usr/local/include/node/libplatform/libplatform.h
  /usr/local/include/node/libplatform/v8-tracing.h
  /usr/local/include/node/node.h
  /usr/local/include/node/node_api.h
  /usr/local/include/node/node_api_types.h
  /usr/local/include/node/node_buffer.h
  /usr/local/include/node/node_object_wrap.h
  /usr/local/include/node/node_version.h
  /usr/local/include/node/openssl/aes.h
  /usr/local/include/node/openssl/archs/BSD-x86/asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/BSD-x86/asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/BSD-x86/asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/BSD-x86/asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/BSD-x86/asm/include/progs.h
  /usr/local/include/node/openssl/archs/BSD-x86/asm_avx2/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/BSD-x86/asm_avx2/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/BSD-x86/asm_avx2/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/BSD-x86/asm_avx2/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/BSD-x86/asm_avx2/include/progs.h
  /usr/local/include/node/openssl/archs/BSD-x86/no-asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/BSD-x86/no-asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/BSD-x86/no-asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/BSD-x86/no-asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/BSD-x86/no-asm/include/progs.h
  /usr/local/include/node/openssl/archs/BSD-x86_64/asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/BSD-x86_64/asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/BSD-x86_64/asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/BSD-x86_64/asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/BSD-x86_64/asm/include/progs.h
  /usr/local/include/node/openssl/archs/BSD-x86_64/asm_avx2/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/BSD-x86_64/asm_avx2/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/BSD-x86_64/asm_avx2/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/BSD-x86_64/asm_avx2/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/BSD-x86_64/asm_avx2/include/progs.h
  /usr/local/include/node/openssl/archs/BSD-x86_64/no-asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/BSD-x86_64/no-asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/BSD-x86_64/no-asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/BSD-x86_64/no-asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/BSD-x86_64/no-asm/include/progs.h
  /usr/local/include/node/openssl/archs/VC-WIN32/asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/VC-WIN32/asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/VC-WIN32/asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/VC-WIN32/asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/VC-WIN32/asm/include/progs.h
  /usr/local/include/node/openssl/archs/VC-WIN32/asm_avx2/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/VC-WIN32/asm_avx2/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/VC-WIN32/asm_avx2/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/VC-WIN32/asm_avx2/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/VC-WIN32/asm_avx2/include/progs.h
  /usr/local/include/node/openssl/archs/VC-WIN32/no-asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/VC-WIN32/no-asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/VC-WIN32/no-asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/VC-WIN32/no-asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/VC-WIN32/no-asm/include/progs.h
  /usr/local/include/node/openssl/archs/VC-WIN64-ARM/no-asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/VC-WIN64-ARM/no-asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/VC-WIN64-ARM/no-asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/VC-WIN64-ARM/no-asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/VC-WIN64-ARM/no-asm/include/progs.h
  /usr/local/include/node/openssl/archs/VC-WIN64A/asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/VC-WIN64A/asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/VC-WIN64A/asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/VC-WIN64A/asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/VC-WIN64A/asm/include/progs.h
  /usr/local/include/node/openssl/archs/VC-WIN64A/asm_avx2/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/VC-WIN64A/asm_avx2/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/VC-WIN64A/asm_avx2/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/VC-WIN64A/asm_avx2/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/VC-WIN64A/asm_avx2/include/progs.h
  /usr/local/include/node/openssl/archs/VC-WIN64A/no-asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/VC-WIN64A/no-asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/VC-WIN64A/no-asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/VC-WIN64A/no-asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/VC-WIN64A/no-asm/include/progs.h
  /usr/local/include/node/openssl/archs/aix-gcc/asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/aix-gcc/asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/aix-gcc/asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/aix-gcc/asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/aix-gcc/asm/include/progs.h
  /usr/local/include/node/openssl/archs/aix-gcc/asm_avx2/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/aix-gcc/asm_avx2/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/aix-gcc/asm_avx2/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/aix-gcc/asm_avx2/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/aix-gcc/asm_avx2/include/progs.h
  /usr/local/include/node/openssl/archs/aix-gcc/no-asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/aix-gcc/no-asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/aix-gcc/no-asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/aix-gcc/no-asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/aix-gcc/no-asm/include/progs.h
  /usr/local/include/node/openssl/archs/aix64-gcc/asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/aix64-gcc/asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/aix64-gcc/asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/aix64-gcc/asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/aix64-gcc/asm/include/progs.h
  /usr/local/include/node/openssl/archs/aix64-gcc/asm_avx2/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/aix64-gcc/asm_avx2/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/aix64-gcc/asm_avx2/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/aix64-gcc/asm_avx2/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/aix64-gcc/asm_avx2/include/progs.h
  /usr/local/include/node/openssl/archs/aix64-gcc/no-asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/aix64-gcc/no-asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/aix64-gcc/no-asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/aix64-gcc/no-asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/aix64-gcc/no-asm/include/progs.h
  /usr/local/include/node/openssl/archs/darwin-i386-cc/asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/darwin-i386-cc/asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/darwin-i386-cc/asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/darwin-i386-cc/asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/darwin-i386-cc/asm/include/progs.h
  /usr/local/include/node/openssl/archs/darwin-i386-cc/asm_avx2/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/darwin-i386-cc/asm_avx2/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/darwin-i386-cc/asm_avx2/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/darwin-i386-cc/asm_avx2/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/darwin-i386-cc/asm_avx2/include/progs.h
  /usr/local/include/node/openssl/archs/darwin-i386-cc/no-asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/darwin-i386-cc/no-asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/darwin-i386-cc/no-asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/darwin-i386-cc/no-asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/darwin-i386-cc/no-asm/include/progs.h
  /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/asm/include/progs.h
  /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/asm_avx2/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/asm_avx2/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/asm_avx2/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/asm_avx2/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/asm_avx2/include/progs.h
  /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/no-asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/no-asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/no-asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/no-asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/darwin64-x86_64-cc/no-asm/include/progs.h
  /usr/local/include/node/openssl/archs/linux-aarch64/asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/linux-aarch64/asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/linux-aarch64/asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/linux-aarch64/asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/linux-aarch64/asm/include/progs.h
  /usr/local/include/node/openssl/archs/linux-aarch64/asm_avx2/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/linux-aarch64/asm_avx2/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/linux-aarch64/asm_avx2/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/linux-aarch64/asm_avx2/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/linux-aarch64/asm_avx2/include/progs.h
  /usr/local/include/node/openssl/archs/linux-aarch64/no-asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/linux-aarch64/no-asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/linux-aarch64/no-asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/linux-aarch64/no-asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/linux-aarch64/no-asm/include/progs.h
  /usr/local/include/node/openssl/archs/linux-armv4/asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/linux-armv4/asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/linux-armv4/asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/linux-armv4/asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/linux-armv4/asm/include/progs.h
  /usr/local/include/node/openssl/archs/linux-armv4/asm_avx2/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/linux-armv4/asm_avx2/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/linux-armv4/asm_avx2/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/linux-armv4/asm_avx2/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/linux-armv4/asm_avx2/include/progs.h
  /usr/local/include/node/openssl/archs/linux-armv4/no-asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/linux-armv4/no-asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/linux-armv4/no-asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/linux-armv4/no-asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/linux-armv4/no-asm/include/progs.h
  /usr/local/include/node/openssl/archs/linux-elf/asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/linux-elf/asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/linux-elf/asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/linux-elf/asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/linux-elf/asm/include/progs.h
  /usr/local/include/node/openssl/archs/linux-elf/asm_avx2/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/linux-elf/asm_avx2/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/linux-elf/asm_avx2/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/linux-elf/asm_avx2/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/linux-elf/asm_avx2/include/progs.h
  /usr/local/include/node/openssl/archs/linux-elf/no-asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/linux-elf/no-asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/linux-elf/no-asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/linux-elf/no-asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/linux-elf/no-asm/include/progs.h
  /usr/local/include/node/openssl/archs/linux-ppc/asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/linux-ppc/asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/linux-ppc/asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/linux-ppc/asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/linux-ppc/asm/include/progs.h
  /usr/local/include/node/openssl/archs/linux-ppc/asm_avx2/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/linux-ppc/asm_avx2/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/linux-ppc/asm_avx2/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/linux-ppc/asm_avx2/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/linux-ppc/asm_avx2/include/progs.h
  /usr/local/include/node/openssl/archs/linux-ppc/no-asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/linux-ppc/no-asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/linux-ppc/no-asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/linux-ppc/no-asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/linux-ppc/no-asm/include/progs.h
  /usr/local/include/node/openssl/archs/linux-ppc64/asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/linux-ppc64/asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/linux-ppc64/asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/linux-ppc64/asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/linux-ppc64/asm/include/progs.h
  /usr/local/include/node/openssl/archs/linux-ppc64/asm_avx2/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/linux-ppc64/asm_avx2/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/linux-ppc64/asm_avx2/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/linux-ppc64/asm_avx2/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/linux-ppc64/asm_avx2/include/progs.h
  /usr/local/include/node/openssl/archs/linux-ppc64/no-asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/linux-ppc64/no-asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/linux-ppc64/no-asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/linux-ppc64/no-asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/linux-ppc64/no-asm/include/progs.h
  /usr/local/include/node/openssl/archs/linux-ppc64le/asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/linux-ppc64le/asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/linux-ppc64le/asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/linux-ppc64le/asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/linux-ppc64le/asm/include/progs.h
  /usr/local/include/node/openssl/archs/linux-ppc64le/asm_avx2/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/linux-ppc64le/asm_avx2/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/linux-ppc64le/asm_avx2/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/linux-ppc64le/asm_avx2/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/linux-ppc64le/asm_avx2/include/progs.h
  /usr/local/include/node/openssl/archs/linux-ppc64le/no-asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/linux-ppc64le/no-asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/linux-ppc64le/no-asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/linux-ppc64le/no-asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/linux-ppc64le/no-asm/include/progs.h
  /usr/local/include/node/openssl/archs/linux-x32/asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/linux-x32/asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/linux-x32/asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/linux-x32/asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/linux-x32/asm/include/progs.h
  /usr/local/include/node/openssl/archs/linux-x32/asm_avx2/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/linux-x32/asm_avx2/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/linux-x32/asm_avx2/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/linux-x32/asm_avx2/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/linux-x32/asm_avx2/include/progs.h
  /usr/local/include/node/openssl/archs/linux-x32/no-asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/linux-x32/no-asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/linux-x32/no-asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/linux-x32/no-asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/linux-x32/no-asm/include/progs.h
  /usr/local/include/node/openssl/archs/linux-x86_64/asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/linux-x86_64/asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/linux-x86_64/asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/linux-x86_64/asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/linux-x86_64/asm/include/progs.h
  /usr/local/include/node/openssl/archs/linux-x86_64/asm_avx2/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/linux-x86_64/asm_avx2/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/linux-x86_64/asm_avx2/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/linux-x86_64/asm_avx2/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/linux-x86_64/asm_avx2/include/progs.h
  /usr/local/include/node/openssl/archs/linux-x86_64/no-asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/linux-x86_64/no-asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/linux-x86_64/no-asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/linux-x86_64/no-asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/linux-x86_64/no-asm/include/progs.h
  /usr/local/include/node/openssl/archs/linux32-s390x/asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/linux32-s390x/asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/linux32-s390x/asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/linux32-s390x/asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/linux32-s390x/asm/include/progs.h
  /usr/local/include/node/openssl/archs/linux32-s390x/asm_avx2/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/linux32-s390x/asm_avx2/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/linux32-s390x/asm_avx2/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/linux32-s390x/asm_avx2/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/linux32-s390x/asm_avx2/include/progs.h
  /usr/local/include/node/openssl/archs/linux32-s390x/no-asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/linux32-s390x/no-asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/linux32-s390x/no-asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/linux32-s390x/no-asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/linux32-s390x/no-asm/include/progs.h
  /usr/local/include/node/openssl/archs/linux64-mips64/asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/linux64-mips64/asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/linux64-mips64/asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/linux64-mips64/asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/linux64-mips64/asm/include/progs.h
  /usr/local/include/node/openssl/archs/linux64-mips64/asm_avx2/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/linux64-mips64/asm_avx2/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/linux64-mips64/asm_avx2/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/linux64-mips64/asm_avx2/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/linux64-mips64/asm_avx2/include/progs.h
  /usr/local/include/node/openssl/archs/linux64-mips64/no-asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/linux64-mips64/no-asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/linux64-mips64/no-asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/linux64-mips64/no-asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/linux64-mips64/no-asm/include/progs.h
  /usr/local/include/node/openssl/archs/linux64-s390x/asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/linux64-s390x/asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/linux64-s390x/asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/linux64-s390x/asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/linux64-s390x/asm/include/progs.h
  /usr/local/include/node/openssl/archs/linux64-s390x/asm_avx2/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/linux64-s390x/asm_avx2/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/linux64-s390x/asm_avx2/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/linux64-s390x/asm_avx2/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/linux64-s390x/asm_avx2/include/progs.h
  /usr/local/include/node/openssl/archs/linux64-s390x/no-asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/linux64-s390x/no-asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/linux64-s390x/no-asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/linux64-s390x/no-asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/linux64-s390x/no-asm/include/progs.h
  /usr/local/include/node/openssl/archs/solaris-x86-gcc/asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/solaris-x86-gcc/asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/solaris-x86-gcc/asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/solaris-x86-gcc/asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/solaris-x86-gcc/asm/include/progs.h
  /usr/local/include/node/openssl/archs/solaris-x86-gcc/asm_avx2/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/solaris-x86-gcc/asm_avx2/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/solaris-x86-gcc/asm_avx2/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/solaris-x86-gcc/asm_avx2/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/solaris-x86-gcc/asm_avx2/include/progs.h
  /usr/local/include/node/openssl/archs/solaris-x86-gcc/no-asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/solaris-x86-gcc/no-asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/solaris-x86-gcc/no-asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/solaris-x86-gcc/no-asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/solaris-x86-gcc/no-asm/include/progs.h
  /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/asm/include/progs.h
  /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/asm_avx2/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/asm_avx2/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/asm_avx2/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/asm_avx2/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/asm_avx2/include/progs.h
  /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/crypto/buildinf.h
  /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/crypto/include/internal/bn_conf.h
  /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/crypto/include/internal/dso_conf.h
  /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/include/openssl/opensslconf.h
  /usr/local/include/node/openssl/archs/solaris64-x86_64-gcc/no-asm/include/progs.h
  /usr/local/include/node/openssl/asn1.h
  /usr/local/include/node/openssl/asn1_mac.h
  /usr/local/include/node/openssl/asn1err.h
  /usr/local/include/node/openssl/asn1t.h
  /usr/local/include/node/openssl/async.h
  /usr/local/include/node/openssl/asyncerr.h
  /usr/local/include/node/openssl/bio.h
  /usr/local/include/node/openssl/bioerr.h
  /usr/local/include/node/openssl/blowfish.h
  /usr/local/include/node/openssl/bn.h
  /usr/local/include/node/openssl/bn_conf.h
  /usr/local/include/node/openssl/bn_conf_asm.h
  /usr/local/include/node/openssl/bn_conf_no-asm.h
  /usr/local/include/node/openssl/bnerr.h
  /usr/local/include/node/openssl/buffer.h
  /usr/local/include/node/openssl/buffererr.h
  /usr/local/include/node/openssl/camellia.h
  /usr/local/include/node/openssl/cast.h
  /usr/local/include/node/openssl/cmac.h
  /usr/local/include/node/openssl/cms.h
  /usr/local/include/node/openssl/cmserr.h
  /usr/local/include/node/openssl/comp.h
  /usr/local/include/node/openssl/comperr.h
  /usr/local/include/node/openssl/conf.h
  /usr/local/include/node/openssl/conf_api.h
  /usr/local/include/node/openssl/conferr.h
  /usr/local/include/node/openssl/crypto.h
  /usr/local/include/node/openssl/cryptoerr.h
  /usr/local/include/node/openssl/ct.h
  /usr/local/include/node/openssl/cterr.h
  /usr/local/include/node/openssl/des.h
  /usr/local/include/node/openssl/dh.h
  /usr/local/include/node/openssl/dherr.h
  /usr/local/include/node/openssl/dsa.h
  /usr/local/include/node/openssl/dsaerr.h
  /usr/local/include/node/openssl/dso_conf.h
  /usr/local/include/node/openssl/dso_conf_asm.h
  /usr/local/include/node/openssl/dso_conf_no-asm.h
  /usr/local/include/node/openssl/dtls1.h
  /usr/local/include/node/openssl/e_os2.h
  /usr/local/include/node/openssl/ebcdic.h
  /usr/local/include/node/openssl/ec.h
  /usr/local/include/node/openssl/ecdh.h
  /usr/local/include/node/openssl/ecdsa.h
  /usr/local/include/node/openssl/ecerr.h
  /usr/local/include/node/openssl/engine.h
  /usr/local/include/node/openssl/engineerr.h
  /usr/local/include/node/openssl/err.h
  /usr/local/include/node/openssl/evp.h
  /usr/local/include/node/openssl/evperr.h
  /usr/local/include/node/openssl/hmac.h
  /usr/local/include/node/openssl/idea.h
  /usr/local/include/node/openssl/kdf.h
  /usr/local/include/node/openssl/kdferr.h
  /usr/local/include/node/openssl/lhash.h
  /usr/local/include/node/openssl/md2.h
  /usr/local/include/node/openssl/md4.h
  /usr/local/include/node/openssl/md5.h
  /usr/local/include/node/openssl/mdc2.h
  /usr/local/include/node/openssl/modes.h
  /usr/local/include/node/openssl/obj_mac.h
  /usr/local/include/node/openssl/objects.h
  /usr/local/include/node/openssl/objectserr.h
  /usr/local/include/node/openssl/ocsp.h
  /usr/local/include/node/openssl/ocsperr.h
  /usr/local/include/node/openssl/opensslconf.h
  /usr/local/include/node/openssl/opensslconf_asm.h
  /usr/local/include/node/openssl/opensslconf_no-asm.h
  /usr/local/include/node/openssl/opensslv.h
  /usr/local/include/node/openssl/ossl_typ.h
  /usr/local/include/node/openssl/pem.h
  /usr/local/include/node/openssl/pem2.h
  /usr/local/include/node/openssl/pemerr.h
  /usr/local/include/node/openssl/pkcs12.h
  /usr/local/include/node/openssl/pkcs12err.h
  /usr/local/include/node/openssl/pkcs7.h
  /usr/local/include/node/openssl/pkcs7err.h
  /usr/local/include/node/openssl/rand.h
  /usr/local/include/node/openssl/rand_drbg.h
  /usr/local/include/node/openssl/randerr.h
  /usr/local/include/node/openssl/rc2.h
  /usr/local/include/node/openssl/rc4.h
  /usr/local/include/node/openssl/rc5.h
  /usr/local/include/node/openssl/ripemd.h
  /usr/local/include/node/openssl/rsa.h
  /usr/local/include/node/openssl/rsaerr.h
  /usr/local/include/node/openssl/safestack.h
  /usr/local/include/node/openssl/seed.h
  /usr/local/include/node/openssl/sha.h
  /usr/local/include/node/openssl/srp.h
  /usr/local/include/node/openssl/srtp.h
  /usr/local/include/node/openssl/ssl.h
  /usr/local/include/node/openssl/ssl2.h
  /usr/local/include/node/openssl/ssl3.h
  /usr/local/include/node/openssl/sslerr.h
  /usr/local/include/node/openssl/stack.h
  /usr/local/include/node/openssl/store.h
  /usr/local/include/node/openssl/storeerr.h
  /usr/local/include/node/openssl/symhacks.h
  /usr/local/include/node/openssl/tls1.h
  /usr/local/include/node/openssl/ts.h
  /usr/local/include/node/openssl/tserr.h
  /usr/local/include/node/openssl/txt_db.h
  /usr/local/include/node/openssl/ui.h
  /usr/local/include/node/openssl/uierr.h
  /usr/local/include/node/openssl/whrlpool.h
  /usr/local/include/node/openssl/x509.h
  /usr/local/include/node/openssl/x509_vfy.h
  /usr/local/include/node/openssl/x509err.h
  /usr/local/include/node/openssl/x509v3.h
  /usr/local/include/node/openssl/x509v3err.h
  /usr/local/include/node/uv.h
  /usr/local/include/node/uv/aix.h
  /usr/local/include/node/uv/android-ifaddrs.h
  /usr/local/include/node/uv/bsd.h
  /usr/local/include/node/uv/darwin.h
  /usr/local/include/node/uv/errno.h
  /usr/local/include/node/uv/linux.h
  /usr/local/include/node/uv/os390.h
  /usr/local/include/node/uv/posix.h
  /usr/local/include/node/uv/stdint-msvc2008.h
  /usr/local/include/node/uv/sunos.h
  /usr/local/include/node/uv/threadpool.h
  /usr/local/include/node/uv/tree.h
  /usr/local/include/node/uv/unix.h
  /usr/local/include/node/uv/version.h
  /usr/local/include/node/uv/win.h
  /usr/local/include/node/v8-internal.h
  /usr/local/include/node/v8-platform.h
  /usr/local/include/node/v8-profiler.h
  /usr/local/include/node/v8-testing.h
  /usr/local/include/node/v8-util.h
  /usr/local/include/node/v8-value-serializer-version.h
  /usr/local/include/node/v8-version-string.h
  /usr/local/include/node/v8-version.h
  /usr/local/include/node/v8-wasm-trap-handler-posix.h
  /usr/local/include/node/v8-wasm-trap-handler-win.h
  /usr/local/include/node/v8.h
  /usr/local/include/node/v8config.h
  /usr/local/include/node/zconf.h
  /usr/local/include/node/zlib.h

Warning: You have unlinked kegs in your Cellar.
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on
those kegs to fail to run properly once built. Run `brew link` on these:
  node

解決方法

Warning: Unbrewed header files were found in /usr/local/include.

まずは以下のWarningを解決した方法を書きます。

ターミナル
Warning: Unbrewed header files were found in /usr/local/include.
If you didn't put them there on purpose they could cause problems when
building Homebrew formulae, and may need to be deleted.

Unexpected header files:
  /usr/local/include/node/js_native_api.h
  /usr/local/include/node/js_native_api_types.h
  /usr/local/include/node/libplatform/libplatform-export.h
  /usr/local/include/node/libplatform/libplatform.h
  .
  .
  .
  .
  /usr/local/include/node/v8.h
  /usr/local/include/node/v8config.h
  /usr/local/include/node/zconf.h
  /usr/local/include/node/zlib.h

このWarningに書いてあることは、
/usr/local/includeというファイルあるけど、意図的においている訳ではないなら削除して
みたいな感じなので書かれた通りにファイルを削除していきます。

ターミナルに以下を入力して、vimでファイル作成、vimのテキストエディタを開きます。

ターミナル
$ vim ~/.del_files.sh

vimのテキストエディタが開けたらiを入力してINSERTモードに変更します。
1行目に#!/bin/bashを入力し、2行目以降にUnexpected dylibs:以下にあるファイルをコピペして、escを押して、ノーマルモードに変更します。

vim
#!/bin/bash
  /usr/local/include/node/js_native_api.h
  /usr/local/include/node/js_native_api_types.h
  /usr/local/include/node/libplatform/libplatform-export.h
  /usr/local/include/node/libplatform/libplatform.h
  .
  .
  .
  .
  /usr/local/include/node/v8.h
  /usr/local/include/node/v8config.h
  /usr/local/include/node/zconf.h
  /usr/local/include/node/zlib.h

カーソルを#!/bin/bashの下にあるファイルの先頭に置いて、control + vでビジュアルモード(VISUAL BLOCK)に変更し、一番下のファイルまで移動して:を押します。
そうすると下に:'<,'>が入力された状態でコマンドラインが表示されるので、続けてs/^/rm -f /と入力します。

Enterを押して、全てのファイルの先頭にrm -fと追加されているのを確認したら、:を押して、一番下の入力欄にwq!と入力してEnterを押します。

vim
#!/bin/bash
rm -f   /usr/local/include/node/js_native_api.h
rm -f   /usr/local/include/node/js_native_api_types.h
rm -f   /usr/local/include/node/libplatform/libplatform-export.h
rm -f   /usr/local/include/node/libplatform/libplatform.h
.
.
.
.
rm -f   /usr/local/include/node/v8.h
rm -f   /usr/local/include/node/v8config.h
rm -f   /usr/local/include/node/zconf.h
rm -f   /usr/local/include/node/zlib.h

そうすると通常のターミナルに戻るので、

ターミナル
$ bash ~/.del_files.sh

を実行するとファイルが削除できるはずだったのですが、

ターミナル
$ bash ~/.del_files.sh
rm: /usr/local/include/node/js_native_api.h : Permission denied
rm: /usr/local/include/node/js_native_api_types.h: Permission denied
rm: /usr/local/include/node/libplatform/libplatform-export.h: Permission denied
rm: /usr/local/include/node/libplatform/libplatform.h: Permission denied
  .
  .
  .
  .
rm: /usr/local/include/node/v8.h: Permission denied
rm: /usr/local/include/node/v8config.h: Permission denied
rm: /usr/local/include/node/zconf.h: Permission denied
rm: /usr/local/include/node/zlib.h: Permission denied

のように表示されて削除ができませんでした。

ファイルの後ろに: Permission deniedと書かれているので、権限を付与するかsudoコマンドで実行することが必要と判断して、sudoコマンドの実行をするためにもう一度vim ~/.del_files.shを開いてsudoコマンドを追加します。

まず、vim ~/.del_files.shをターミナルに入力してvimのテキストエディタを開きます。

その後、ファイルの先頭にカーソルを合わせて、control + vでビジュアルモード(VISUAL BLOCK)に変更して、一番下のファイルまで移動して、:を押します。

先ほどと同様に下に:'<,'>が表示されるので、今度はs/^/sudo /と入力して、Enterを押します。

ファイルの先頭にsudoと追加できていたら:を押して、コマンドラインにwq!と入力してEnterを押します。

vim
#!/bin/bash
sudo rm -f   /usr/local/include/node/js_native_api.h
sudo rm -f   /usr/local/include/node/js_native_api_types.h
sudo rm -f   /usr/local/include/node/libplatform/libplatform-export.h
sudo rm -f   /usr/local/include/node/libplatform/libplatform.h
.
.
.
.
sudo rm -f   /usr/local/include/node/v8.h
sudo rm -f   /usr/local/include/node/v8config.h
sudo rm -f   /usr/local/include/node/zconf.h
sudo rm -f   /usr/local/include/node/zlib.h

通常のターミナルに戻ってきたら以下のコマンドを実行します。

ターミナル
$ bash ~/.del_files.sh

これでWarningの一つが解決しました。

Warning: You have unlinked kegs in your Cellar.

次にこのWarningを解決した方法を書きます。

ターミナル
Warning: You have unlinked kegs in your Cellar.
Leaving kegs unlinked can lead to build-trouble and cause brews that depend on
those kegs to fail to run properly once built. Run `brew link` on these:
  node

とりあえず読んでみるとbrew linkしてくださいということが書かれているみたいですが、今回は一度消してからnodeをインストールしたいと思っているので、リンク先のディレクトリを削除していきます。

ターミナル
$ brew unlink node
Unlinking /usr/local/Cellar/node/14.5.0... 0 symlinks removed

次に表示されているディレクトリを削除します。

ターミナル
$ rm -drf /usr/local/Cellar/node/

Warningを解決したのでbrew doctorで確認します。

ターミナル
$ brew doctor
Warning: Broken symlinks were found. Remove them with `brew cleanup`:
  /usr/local/opt/node
  /usr/local/opt/node@14

brew cleanupをしてくださいというWarningが表示されたので実行します。

ターミナル
$ brew cleanup

実行した後、brew doctorで確認します。

ターミナル
$ brew doctor
your system is ready to brew.

これで全てのWarningを解決することができました。

参考にしたサイト

https://qiita.com/ponsuke0531/items/80f716c803ac23c7849d
https://qiita.com/6592sho/items/b24766e203fb7a48b056
https://qiita.com/rinimaruranran/items/2d8d930ad846fa41b9e6

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

AzureADとIntuneでデバイス認証してみた

1, はじめに

最近ゼロトラストネットワークという言葉をよく耳にするようになりました。
またコロナウイルスの影響もあり、リモートワーク環境が少しずつ当たり前になりつつあると感じています。
このような状況では、IP制限のみで制御しきれなくなってきています。
そんな中でデバイス認証がこの状況を打破する手法ではないかと考えています。
今回はAzureADとMicrosoft Intuneを用いたデバイス認証の手法を検証していきます。今回制限をかける範囲は、Azureでの作業です。

2. Microsoft Intuneとは

Microsoft Intuneとは、Microsoftの製品の一つで、公式ドキュメントには以下のように記されています。

Microsoft Intune は、モバイル デバイス管理 (MDM) とモバイル アプリケーション管理 (MAM) を中心にしたクラウドベースのサービスです。

要するに、デバイス管理とモバイルデバイス(持ち運び可能なPC, スマホなど)のアプリケーションを管理することができます。
今回はこちらのデバイス管理の機能を用いて、デバイス認証を検証していきます。

3. 事前準備

今回は検証のため、EMS(Enterprise Mobility + Security E5)の無料試用版を使用します。
EMSの内容は以下画像の通り、AzureAD Premium P2, Azure Rights Management, Microsoft Intuneが含まれているパッケージです。
こちらをアクティブ化して使用します。

EMS.png

図.3.1 EMSの内容紹介

4. デバイス認証検証

私が普段使用しているmacOSを使ってデバイス認証を行います。
macOSのデバイス認証は、ログイン時にクライアント証明書を求められるようになります。
windows端末である場合、デバイス登録部分の手順が異なるので、windows端末で検証する場合は、「Windows デバイスの Intune 登録方法」を参照ください。

4.1. Intuneライセンスの付与

今回の検証用に[intune test user]というユーザーを作成したので、このユーザーにIntuneのライセンスを以下手順で付与します。

  1. [intune test user]ユーザーを選択し、[ライセンス]を選択。
    intune_test_user_1.png

  2. [割り当て]を選択。
    intune_test_user_2.png

  3. Intuneを選択して[保存]を選択。
    intune_test_user_3.png

4.2. プッシュ通知証明書の登録

macOSデバイスを登録する際にプッシュ通知証明書の登録が必要となります。
プッシュ通知証明書の登録手順は、Apple MDM プッシュ証明書を取得するを参照ください。

4.3. デバイスの登録

macOSのデバイス登録手順は、Intune で macOS デバイスの登録をセットアップするに記載されています。
ABM(Apple Business Manager)を利用していると、一括登録ができるので、簡単にデバイス登録ができます。
今回は個人利用端末での検証のため、macポータルサイトアプリをダウンロードし、以下手順でデバイスの登録を行います。

  1. aka.ms/EnrollMyMacからポータルサイトアプリをダウンロードする。

  2. ダウンロードしたファイルを開く。
    device_1.png

  3. [続ける]を選択。
    device_2.png

  4. [続ける]を選択。
    device_3.png

  5. [同意する]を選択。
    device_4.png

  6. [インストール]を選択。
    device_5.png

  7. 認証を行い、インストールする。
    device_6.png

  8. [閉じる]を選択。
    device_7.png

  9. [OK]を選択。
    device_8.png

  10. インストーラを今後使用しない場合は、[ゴミ箱に入れる]を選択。
    device_9.png

  11. アプリケーションフォルダに[ポータルサイト.app]が存在することを確認し、[ポータルサイト.app]開く。
    device_10.png

  12. [サインイン]を選択。
    portal_site_1.png

  13. 使用デバイスと紐付けるユーザーでサインインする。
    portal_site_2.png

  14. パスワードを入力し、[サインイン]する。
    portal_site_3.png

  15. 接続が確立されたら、[開始]を選択。
    portal_site_5.png

  16. [続行]を選択。
    portal_site_6.png

  17. 手順に則り進める。
    portal_site_7.png
    portal_site_8.png
    portal_site_9.png
    portal_site_10.png

  18. [完了]を選択。
    portal_site_11.png

  19. ポータルサイトに戻り、デバイスが登録されていることを確認する。(デフォルトのポリシーを適用しているため、準拠状態になっています。)
    portal_site_12.png

4.4. 条件付きアクセス

条件付きアクセスポリシーを追加し、今回検証用に作成した[intune test user]に紐付けます。
「デバイス準拠ポリシー」という名前で、条件は、「デバイスは準拠しているとしてマーク済みである必要があります」にチェックを入れています。
詳細は以下画像を参照ください。

ポリシー付与対象ユーザーを「intune_test_user」に設定
access_policy_1.png

ポリシー適用アプリを「すべてのクラウドアプリ」に設定
access_policy_2.png

アクセス許可する条件を「デバイスは準拠しているとしてマーク済みである必要があります」に設定
access_policy_3.png

4.5. ログイン検証

デバイス登録した端末を使用して、[intune test user]でログインをすると、クライアント認証が求められます。こちらで使用する証明書はデバイス登録時に端末に保存されているため、その証明書を使用することになります。
login_test_1.png

デバイス登録していないデバイスでログインすると、以下のような表示が出ます。
login_test_2.jpg

[今すぐ登録]を選択し、先に進むとポータルサイトからデバイス登録するよう促されます。
各個人が持ってる端末が1台ずつである場合、デバイス登録の上限を設定することでデバイスを登録させないようすることも可能です。
他にもデバイス登録に制限をかけることができます。デバイス登録制限をするには、登録制限を設定するを参照ください。

5. まとめ

AzureADとMicrosoft Intuneを使用したデバイス認証を検証しました。
デバイス認証ができるようになれば、IP制限から解放され、場所にとらわれない環境
を実現することができるので、個人的にとてもありがたいことだと感じています。
また、Office365製品や、その他AzureAD認証をかけられるサービスも同様にデバイス認証をかけることができるようになるので、とても便利です。

Microsoft Intuneは他にもデバイスを管理する機能があるため試用期間中に様々なことを検証してみようと思いました。

参考資料

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

MacでSafariとChromeのCORSを無効化する

良い子はマネしないでね

  • この状態でアクセスするのはlocalhostくらいにしておこう
  • 当然だが、他の方法(サーバの設定する、プロキシで解決する、JSONP使うhttps://cors-anywhere.herokuapp.com/を使用する、ブラウザの拡張機能を使用する)を採用した方が良い。

SafariのCORSを無効化する

  1. 「Safari」 > 「環境設定」 > 「詳細」タブ > 「メニューバーに“開発“メニューを表示」を選択
  2. 「開発」 > 「クロスオリジンの制限を無効にする」にチェックを入れる

ChromeのCORSを無効化する

  1. Chromeを終了する
  2. ターミナルで下記のコマンドを叩く
open -n -a /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --args --user-data-dir=“/tmp/chrome_dev_test” --disable-web-security
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Macにて写真.appが動かなくなる

Catalinaに更新したら写真.appが動かなくなった

[設定]→[ユーザーとグループ]
ログイン中のアカウントを、controlボタンを押しながら、詳細オプションを表示。
出ない場合は下の鍵マークのロックを解除する。

q1.png

ログインシェルが
/bin/bash になっているとNG

※bash_profileやbashsrcなどはzshに移行する必要があります。

/bin/zshに変更して再起動する。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

14日で作る量子コンピュータの開発環境をVSCode @ Macで実現する時の備忘録メモ

記事を書こうと思った背景

近年、量子コンピュータに対する期待が高まっており、巷では量子コンピュータの啓蒙書が多数出版されています。量子コンピュータの魅力を紹介したセミナー等も都内で多数実施されており、筆者も何度か参加したことが有ります。ただ、(筆者の個人的な意見として)話が非常に抽象的?で消化不良となっていました。これには恐らく以下の2つの理由が考えられます。

  1. 量子コンピュータの背景に有る量子力学が大変難しい学問である
  2. 筆者はコンピュータ=集積回路で実現したノイマン型というイメージが染み付いているから

この悶々した消化不良感を持っておられる方は意外と多いのではないでしょうか?そんな時に書店で出会ったのがタイトルにも有る「14日で作る量子コンピュータ」という書籍です。内容をザッと目を通した感じでは1つ1つの内容を丁寧に解説したかなり親切な専門書という印象です。:relaxed:早速量子コンピュータの理解を目指して実装に取り組もうと思ったのですが、開発環境はVisual Studio @ Winであり、VSCode @ Macは解説されていませんでした。加えてVSCodeで簡単にセットアップ出来ると思って取り掛かったものの、期待は裏切られ散々手こずる結果に。。。:scream:そこで実際にセットアップした内容を備忘録としてまとめておこうと思います。

検証環境

  • macOS 10.14.6 Mojave
  • Visual Studio Code 1.45.1
  • g++ version 9.3.0
  • GSL(GNU Scientific Library) 2.6

VSCodeのセットアップ

VSCodeのインストーラーをダウンロードし、インストールします。エクステンションは以下のコマンドで追加しました。

code --install-extension ms-vscode.cpptools

g++のインストール

Homebrewでインストールします。gccをインストールするとg++も一緒にインストールされます。

brew install gcc

GSLのインストール

Homebrewでインストールを実施します。

brew install gsl

サンプルプログラムのビルド及び実行

コマンドラインでビルド及び実行

書籍の冒頭でライブラリの動作をテストするプログラムのビルド及び実行を行っています。先ず最初に参考までにソースをコマンドラインでg++を用いてビルドする場合のコマンドを示します。ソース名は書籍に従っています。-Iオプションinclude Pathを渡し、-Lオプションlibrary Pathを渡し、-lオプションでライブラリ名(gsl)を渡しています。なお、ソースファイルの中身は権利的な問題も有る為、記載しておりません。

g++ -I/usr/local/include -L/usr/local/lib -lgsl gsl_integral.cpp 

正常にビルド完了後、実行ファイルを実行し、以下の様な実行結果になれば成功です。

$ ./a.out 
【計算結果】
計算結果 = 0.636619772367581
理論値 = 0.636619772367581
計算誤差 = 0

VSCode上でビルド及び実行

GSL(GNU Scientifice Library)との関連付け設定

ソース実装時及びビルド時にGSLがソースファイルに紐付く様にPath等の設定を行います。.vscodeディレクトリをプロジェクトディレクトリ直下に作成します。そして、その.vscodeディレクトリ内にc_cpp_properties.jsonを作成します。記載内容は以下の通りです。このファイルにはinclude Pathを追加します。この設定で、コード補完が出来る様になります。

c_cpp_properties.json
{
    "configurations": [
        {
            "name": "Mac",
            "includePath": [
                "${workspaceFolder}/**",
                "/usr/local/Cellar/gsl/2.6/include"
            ],
            "defines": [],
            "macFrameworkPath": [],
            "compilerPath": "/usr/local/bin/gcc",
            "cStandard": "c11",
            "cppStandard": "gnu++14",
            "intelliSenseMode": "gcc-x64"
        }
    ],
    "version": 4
}

続けてtasks.json.vscodeディレクトリ内に作成します。これはMakefileの様な働きをします。作成しておくことでcmd + shift + bでビルドが実行出来る様になります。

tasks.json
{
    "tasks": [
        {
            "type": "shell",
            "label": "C/C++: g++-9 build active file",
            "command": "/usr/local/bin/g++-9",
            "args": [
                "-g",
                "${file}",
                "-I/usr/local/include",
                "-L/usr/local/lib",
                "-lgsl",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}.out"
            ],
            "options": {
                "cwd": "${workspaceFolder}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        },
        {
            "type": "shell",
            "label": "Run execute file",
            "command": "${fileDirname}/${fileBasenameNoExtension}.out"
        }
    ],
    "version": "2.0.0"
}

サンプルプログラムの実行

cmd + shift + bでビルドを実行し、出力された実行ファイルを実行してみます。以下の様な出力となり、コマンドラインでビルドを実施した時と同じ出力になりました。

$ ./gsl_integral.out 
【計算結果】
計算結果 = 0.636619772367581
理論値 = 0.636619772367581
計算誤差 = 0

まとめ

VSCodeで「14日で作る量子コンピュータ」の開発環境を整えました。後は1〜14日の内容を実装しながら楽しむだけとなりました。これで量子コンピュータへの理解が深められそうです。

Reference

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

MAC:node.jsでmysqlへ接続する

node.js から mysqlに接続するのに苦労しましたので覚書をします。

環境

macOS : 10.15.5 (Catalina)
node.js : v14.3.0
mysql : ver 8.0.19

mysqlインストール

shell
$ brew install mysql

でインストールされました。
(他の情報でmpnを使用するやり方が書いてありましたが、私の環境では起動ができませんでした)

コネクションを実行するコード

mysqlconnection.js
//------------------------------------------------------------
//      my sql connection
//------------------------------------------------------------
var mysql = require('mysql');

//DBの定義
var dbConfig = {
  host     : 'localhost', //接続先ホスト
  user     : 'root',      //ユーザー名
  password : '******',    //パスワード
  database : '******'     //DB名
};

var connection;

function handleDisconnect() {
    console.log('create mysql connection');
    connection = mysql.createConnection(dbConfig); //接続する準備

    //接続
    connection.connect(function(err) {
        if(err) {
            console.log('error when connecting to db:', err);
            setTimeout(handleDisconnect, 2000); //2秒待ってから処理
        }
    });

    //error時の処理
    connection.on('error', function(err) {
        console.log('db error', err);
        if(err.code === 'PROTOCOL_CONNECTION_LOST') {
            handleDisconnect();
        } else {
            throw err;
        }
    });

    module.exports = connection; //connectionを(他のファイルから)requireで呼び出せるようにする
}

handleDisconnect();

実行するにはシェル(ターミナル)に以下を入力します

shell
   $ node mysqlconnection.js

エラー発生

私の環境では上記を実行してもエラーが出ました。

  1. mysqlが起動していない場合のエラー
 errno: -61,
  code: 'ECONNREFUSED',
  syscall: 'connect',
  address: '127.0.0.1',
  port: 3306,
  fatal: true

このエラーの対処は

shell
  $ mysql.server start

とします。

2.認証方法エラー
新しいmysqlで認証方法が変更になっていてnode.jsからは古い認証方法でアクセスするためにそれに合わせる必要があるようです。

ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client

この対処は以下を参照しました。

Node.jsでMySQL 8.0へ接続しようとする時に発生するエラー

ですがこれをこのままやってもうまくいかず

mysqlの初期パスワードをクリアする必要がありました。
他のサイトではvar/log/mysqld.log に初期パスワードが残っているとの情報があったのですが、私の環境ではありませんでした。
それで以下の記事

Mac ローカル環境の MySQL 8.0 のrootパスワードを忘れた時のリセット方法

を参考にて、
1.サーバーを停止
$ mysql.server stop
2.MySQLをセーフモードで起動する。
$ mysqld_safe --skip-grant-tables &
3.rootユーザのパスワード無し状態でログインする。(同じターミナルで大丈夫でした)
$ mysql -u root
4.rootユーザーのパスワードを空に設定する。
mysql> UPDATE mysql.user SET authentication_string=null WHERE User='root';
5.セーフモードで開いたMySQLを閉じる
mysql> exit
6.セーフモードで動作しているMySQLをkillする。
$ mysql.server status
SUCCESS! MySQL running (XXXXX)
$ kill XXXXX

7.通常モードでMySQLを起動する。
$ mysql.server restart
8.rootでmysqlを起動する。(パスワード要求されるがENTERをおす。)
$ mysql -u root -p
9.パスワードを再設定する。
mysql> USE mysql;
10.ここで先ほどの
Mac ローカル環境の MySQL 8.0 のrootパスワードを忘れた時のリセット方法
に書いてあるSQLを実行します

mysql > ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'

passwordの部分はrootでログインを行う際の任意のパスワードです。

ここまで実行するとこのエラーはなくなります。

その他注意

・node.jsからmysqlへアクセスするにはmysqlにdbを作成する必要があります。

mysql
 mysql>create db _test

・mysqlconnection.jsは作成したdbと、設定パスワードを記述する必要があります

mysqlconnection.js
var dbConfig = {
  host     : 'localhost', //接続先ホスト
  user     : 'root',      //ユーザー名
  password : '******',    //パスワード
  database : '******'     //DB名
};
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Bitrize + mac + unity でモバイルアプリを作成する時に調べたこと

とりあえずCIツール知識が0な自分でcliを使って色々しようとして
調べる必要があった部分のメモ書き

BitrizeとGithubActionを使ってみようとしたけど
基本1こ使い方覚えれば、少しは学習コストが下がりそうだなぁ
と思った。

yaml に泣かされる

半角スペースの個数に泣かされる
https://qiita.com/jerrywdlee/items/d5d31c10617ec7342d56

Xcodebuild コマンドを使うにはインストールが必要だと知る

※これ結果的に不要ポイ?
https://qiita.com/mym/items/8bc079b7d0f5f55c49dc

error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

と思ったらXcodeのインストール済みなら設定画面で設定すれば良さそうだったと言う罠
https://qiita.com/eytyet/items/59c5bad1c167d5addc68

project_pathはファイル名を指定する

Bitrizeの ymlファイル内にて
contents.xcworkspacedataが無いみたいなエラーでなんぞや?と思ったらそう言うことだった。

    - xcode-archive@2.8.5: 
        inputs:
        - project_path: ./output/Unity-iPhone.xcodeproj
        - scheme: Unity-iPhone

んで出来上がったipaファイル何処いったんだ?

output delectoryにできた。

/var/folders/_v/r_bddp7d4z3c650zzb4xhw940000gp/T/deploy706604927

何処だよこれ!
ちなみに
- app_path: $BITRISE_IPA_PATH
みたいな環境変数を使えば動いてくれるっぽいのであんまりいらない

Deploygateに upできない

これなんで解決したんだっけかな・・・
TOPぺージのコマンド入れたおかげ?

INFO[11:06:05]  * [OK] Step dependency (curl) installed, available. 
curl: (26) Failed to open/read local data from file/application
{"message":"You do not have a permission to upload applications.","because":"You do not have a permission to upload applications.","error":true}|

terminal

途中でやめたくなった時のコマンド
Control + C

yamlの文字列の扱い

シングルクォーテーション、ダブルクォーテーション等
あろうがなかろうが関係ないなかろうが関係ない
https://neos21.hatenablog.com/entry/2020/01/11/080000

バッチ(command)ファイル

windowsだと batだけど
macの場合 commandファイルね

chmod u+x login.command
こんな感じで権限付与しないと動かない
https://qiita.com/TatsuyaOGth/items/f15bfa9aeb68d8ecfc67

これバッチを作った時のカレントディレクトリーを変更するコマンド、超大事

cd `dirname $0`

terminal が閉じない

https://ocs.hatenadiary.org/entry/20111010/1318209350

隠しファイルの表示方法

Mac の Finder で 隠しファイル を表示するためのショートカットは command + shift + .

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む