Skip to content

Instantly share code, notes, and snippets.

@kamiyam
Last active November 23, 2021 23:35
Show Gist options
  • Star 8 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kamiyam/b153a30e9c3684c1093b51432d1d7709 to your computer and use it in GitHub Desktop.
Save kamiyam/b153a30e9c3684c1093b51432d1d7709 to your computer and use it in GitHub Desktop.
Windows npm install時のエラー解決

環境

Windows10 Home
(環境によっては他のバージョンも適用されるかも

Node.js インストール

https://nodejs.org/en/

確認

> node -v
v6.5.0

> npm -v
3.10.3

Python インストール

https://www.python.org/downloads/

インストール時、pathの環境変数追加のチェックオフとなっているのでチェックを入れると少し手間が省けます。

> python -V
Python 2.7.12

エラー

python未インストール

> npm i -g nodebot-workshop
...(省略)
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
gyp ERR! stack     at failNoPython (C:¥Program Files¥nodejs¥node_modules¥npm¥node_modules¥node-gyp¥lib¥configure.js:401:14)
gyp ERR! stack     at C:¥Program Files¥nodejs¥node_modules¥npm¥node_modules¥node-gyp¥lib¥configure.js:356:11
gyp ERR! stack     at FSReqWrap.oncomplete (fs.js:123:15)
gyp ERR! System Windows_NT 10.0.10586
gyp ERR! command "C:¥¥Program Files¥¥nodejs¥¥node.exe" "C:¥¥Program Files¥¥nodejs¥¥node_modules¥¥npm¥¥node_modules¥¥node-gyp¥¥bin¥¥node-gyp.js" "rebuild"
gyp ERR! cwd C:¥Users¥labsk¥AppData¥Roaming¥npm¥node_modules¥nodebot-workshop¥node_modules¥weak
gyp ERR! node -v v6.5.0
gyp ERR! node-gyp -v v3.3.1
gyp ERR! not ok

解決方法

pythonをインストールし、pathを通す

python v3がインストールされている

> npm i -g nodebot-workshop
...(省略)
gyp ERR! configure error
gyp ERR! stack Error: Python executable "C:¥{$UserDir}¥AppData¥Local¥Programs¥Python¥Python35¥python.EXE" is v3.5.2, which is not supported by gyp.
gyp ERR! stack You can pass the --python switch to point to Python >= v2.5.0 & < 3.0.0.

解決方法

python v3系をインストールされているので、python v2系のインストールが必要

C++ コンパイラがインストールされていない

> npm i -g nodebot-workshop
...(省略)
>if not defined npm_config_node_gyp (node "C:¥Program Files¥nodejs¥node_modules¥npm¥bin¥node-gyp-bin¥¥..¥..¥node_modules¥node-gyp¥bin¥node-gyp.js" rebuild )  else (node "" rebuild )
このソリューション内のプロジェクトを 1 度に 1 つずつビルドします。並行ビルドを有効にするには、"/m" スイッチを追加してく ださい。
MSBUILD : error MSB3428: Visual C++ コンポーネント "VCBuild.exe" を読み込めませんでした。この問題を解決するには、次のい ずれかを行ってください。 1) .NET Framework 2.0
 SDK インストールする。 2) Microsoft Visual Studio 2005 をインストールする。 3) その他の場所にインストールされている場合、コンポーネントの場所をシステム パスに追加する。 [C:¥Users¥la
bsk¥AppData¥Roaming¥npm¥node_modules¥nodebot-workshop¥node_modules¥weak¥build¥binding.sln]
gyp ERR! build error
gyp ERR! stack Error: `C:¥Windows¥Microsoft.NET¥Framework¥v4.0.30319¥msbuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (C:¥Program Files¥nodejs¥node_modules¥npm¥node_modules¥node-gyp¥lib¥build.js:276:23)
gyp ERR! stack     at emitTwo (events.js:106:13)
gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Windows_NT 10.0.10586
gyp ERR! command "C:¥¥Program Files¥¥nodejs¥¥node.exe" "C:¥¥Program Files¥¥nodejs¥¥node_modules¥¥npm¥¥node_modules¥¥node-gyp¥¥bin¥¥node-gyp.js" "rebuild"
gyp ERR! cwd C:¥Users¥labsk¥AppData¥Roaming¥npm¥node_modules¥nodebot-workshop¥node_modules¥weak
gyp ERR! node -v v6.5.0
gyp ERR! node-gyp -v v3.3.1
gyp ERR! not ok

解決方法

VisualStudio、もしくは Visual C++ Build Toolsのインストールが必要

VisualStudioのインストール

npm install のコンパイル時に利用されるVisual Studio のバージョンを指定

npm install --msvs_version=2012

Visual C++ Build Toolsインストール

http://landinghub.visualstudio.com/visual-cpp-build-tools

npm が最新でない?

> npm i -g nodebot-workshop
...(省略)
  weakref.cc
  win_delay_load_hook.c
C:¥Program Files¥nodejs¥node_modules¥npm¥node_modules¥node-gyp¥src¥win_delay_load_hook.c(34): error C2373: '__pfnDliNot
ifyHook2': redefinition; different type modifiers [C:¥Users¥labsk¥AppData¥Roaming¥npm¥node_modules¥nodebot-workshop¥nod
e_modules¥weak¥build¥weakref.vcxproj]
  C:¥Program Files (x86)¥Microsoft Visual Studio 14.0¥VC¥include¥delayimp.h(134): note: see declaration of '__pfnDliNot
  ifyHook2'

解決方法

npm を最新バージョンに

>npm -g install npm@next

>npm -v
3.10.7

nodebot-workshop アンインストール後、再インストール出来ない

> npm i -g nodebot-workshop
...(省略)
npm ERR! Error: EPERM: operation not permitted, rename 'C:¥{$UserDir}¥AppData¥Roaming¥npm¥node_modules¥nodebot-workshop' -> 'C:¥Users¥labsk¥AppData¥Roaming¥npm¥node_modules¥.nodebot-workshop.DELETE'
npm ERR!     at moveAway (C:¥Users¥labsk¥AppData¥Roaming¥npm¥node_modules¥npm¥lib¥install¥action¥finalize.js:38:5)
npm ERR!     at destStatted (C:¥Users¥labsk¥AppData¥Roaming¥npm¥node_modules¥npm¥lib¥install¥action¥finalize.js:27:7)
npm ERR!     at FSReqWrap.oncomplete (fs.js:123:15)
npm ERR!
npm ERR! Error: EPERM: operation not permitted, rename 'C:¥Users¥labsk¥AppData¥Roaming¥npm¥node_modules¥nodebot-workshop' -> 'C:¥Users¥labsk¥AppData¥Roaming¥npm¥node_modules¥.nodebot-workshop.DELETE'
npm ERR!     at Error (native)
npm ERR!  Error: EPERM: operation not permitted, rename 'C:¥Users¥labsk¥AppData¥Roaming¥npm¥node_modules¥nodebot-workshop' -> 'C:¥Users¥labsk¥AppData¥Roaming¥npm¥node_modules¥.nodebot-workshop.DELETE'
npm ERR!     at moveAway (C:¥Users¥labsk¥AppData¥Roaming¥npm¥node_modules¥npm¥lib¥install¥action¥finalize.js:38:5)
npm ERR!     at destStatted (C:¥Users¥labsk¥AppData¥Roaming¥npm¥node_modules¥npm¥lib¥install¥action¥finalize.js:27:7)
npm ERR!     at FSReqWrap.oncomplete (fs.js:123:15)
npm ERR!
npm ERR! Error: EPERM: operation not permitted, rename 'C:¥Users¥labsk¥AppData¥Roaming¥npm¥node_modules¥nodebot-workshop' -> 'C:¥Users¥labsk¥AppData¥Roaming¥npm¥node_modules¥.nodebot-workshop.DELETE'
npm ERR!     at Error (native)
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

npm ERR! Please include the following file with any support request:
npm ERR!     C:¥WINDOWS¥system32¥npm-debug.log

解決方法

ファイルパスが長すぎるため削除出来ず、Explorerから直接削除する。
C:¥{$UserDir}¥AppData¥Roaming¥npm¥node_modules¥.nodebot-workshop.DELETE を削除

参考

node-gyp Installation

https://github.com/nodejs/node-gyp#installation

Configuring your Windows development environment

https://github.com/Microsoft/nodejs-guidelines/blob/master/windows-environment.md

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment