npm / npm

This repository is moving to: https://github.com/npm/cli
http://npm.community
17.53k stars 3.02k forks source link

npm ERR! Error: ENOENT on windows #5857

Closed cgole closed 10 years ago

cgole commented 10 years ago

I have having trouble installing the strongloop module on Windows Server 2008. I could reproduce the same error on Windows Server 2012.

PS C:\Users> node -v
v0.10.30
PS C:\Users> npm -v
1.4.21

PS C:\Users\Administrator> npm i -g strongloop
> strongloop@2.0.0 install C:\Users\Administrator\AppData\Roaming\npm\node_modules\strongloop
> node check-installation.js
 ____  _                         _
/ ___|| |_ _ __ ___  _ __   __ _| |    ___   ___  _ __
\___ \| __| '__/ _ \| '_ \ / _` | |   / _ \ / _ \| '_ \
 ___) | |_| | | (_) | | | | (_| | |__| (_) | (_) | |_) |
|____/ \__|_|  \___/|_| |_|\__, |_____\___/ \___/| .__/
                           |___/                 |_|

Checking required modules...
C:\Users\Administrator\AppData\Roaming\npm\slc -> C:\Users\Administrator\AppData\Roaming\npm\node_modules\strong-cli\bin
\slc
C:\Users\Administrator\AppData\Roaming\npm\sl-deploy -> C:\Users\Administrator\AppData\Roaming\npm\node_modules\strong-d
eploy\bin\sl-deploy.js
/

> node-syslog@1.1.7 install C:\Users\Administrator\AppData\Roaming\npm\node_modules\strong-supervisor\node_modules\node-
syslog
> node-gyp rebuild

C:\Users\Administrator\AppData\Roaming\npm\node_modules\strong-supervisor\node_modules\node-syslog>node "C:\Program File
s\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild
|
/

C:\Users\Administrator\AppData\Roaming\npm\sl-build -> C:\Users\Administrator\AppData\Roaming\npm\node_modules\strong-bu
ild\bin\slb
C:\Users\Administrator\AppData\Roaming\npm\slb -> C:\Users\Administrator\AppData\Roaming\npm\node_modules\strong-build\b
in\slb
C:\Users\Administrator\AppData\Roaming\npm\sl-registry -> C:\Users\Administrator\AppData\Roaming\npm\node_modules\strong
-registry\bin\sl-registry.js
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
  syslog.cc
C:\Users\Administrator\AppData\Roaming\npm\slpm -> C:\Users\Administrator\AppData\Roaming\npm\node_modules\strong-pm\bin
\sl-pm.js
C:\Users\Administrator\AppData\Roaming\npm\sl-pm-install -> C:\Users\Administrator\AppData\Roaming\npm\node_modules\stro
ng-pm\bin\sl-pm-install.js
C:\Users\Administrator\AppData\Roaming\npm\sl-pm -> C:\Users\Administrator\AppData\Roaming\npm\node_modules\strong-pm\bi
n\sl-pm.js
c:\users\administrator\appdata\roaming\npm\node_modules\strong-supervisor\node_modules\node-syslog\node-syslog.h(8): fa
tal error C1083: Cannot open include file: 'syslog.h': No such file or directory [C:\Users\Administrator\AppData\Roamin
g\npm\node_modules\strong-supervisor\node_modules\node-syslog\build\syslog.vcxproj]
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:2
67:23)
gyp ERR! stack     at ChildProcess.emit (events.js:98:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:810:12)
gyp ERR! System Windows_NT 6.1.7601
gyp ERR! command "node" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuil
d"
gyp ERR! cwd C:\Users\Administrator\AppData\Roaming\npm\node_modules\strong-supervisor\node_modules\node-syslog
gyp ERR! node -v v0.10.30
gyp ERR! node-gyp -v v0.13.1
gyp ERR! not ok
npm ERR! Error: ENOENT, lstat 'C:\Users\Administrator\AppData\Roaming\npm\node_modules\strong-supervisor\node_modules\st
rong-agent\src\extras.h'
npm ERR! If you need help, you may report this *entire* log,
npm ERR! including the npm and node versions, at:
npm ERR!     <http://github.com/npm/npm/issues>
npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js"
 "i" "-g" "strongloop"
npm ERR! cwd C:\Users\Administrator
npm ERR! node -v v0.10.30
npm ERR! npm -v 1.4.21
npm ERR! path C:\Users\Administrator\AppData\Roaming\npm\node_modules\strong-supervisor\node_modules\strong-agent\src\ex
tras.h
npm ERR! fstream_path C:\Users\Administrator\AppData\Roaming\npm\node_modules\strong-supervisor\node_modules\strong-agen
t\src\extras.h
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack C:\Program Files\nodejs\node_modules\npm\node_modules\fstream\lib\writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (evalmachine.<anonymous>:107:15)
npm ERR! error rolling back Error: EPERM, unlink 'C:\Users\Administrator\AppData\Roaming\npm\node_modules\strong-supervi
sor\node_modules\strong-cluster-control\node_modules\lodash\lodash.js'
npm ERR! error rolling back  strong-supervisor@0.3.0 { [Error: EPERM, unlink 'C:\Users\Administrator\AppData\Roaming\npm
\node_modules\strong-supervisor\node_modules\strong-cluster-control\node_modules\lodash\lodash.js']
npm ERR! error rolling back   errno: 50,
npm ERR! error rolling back   code: 'EPERM',
npm ERR! error rolling back   path: 'C:\\Users\\Administrator\\AppData\\Roaming\\npm\\node_modules\\strong-supervisor\\n
ode_modules\\strong-cluster-control\\node_modules\\lodash\\lodash.js' }
npm ERR! error rolling back Error: EPERM, unlink 'C:\Users\Administrator\AppData\Roaming\npm\node_modules\strong-supervi
sor\node_modules\strong-cluster-control\node_modules\lodash\lodash.js'
npm ERR! error rolling back  strong-cluster-control@0.5.0 { [Error: EPERM, unlink 'C:\Users\Administrator\AppData\Roamin
g\npm\node_modules\strong-supervisor\node_modules\strong-cluster-control\node_modules\lodash\lodash.js']
npm ERR! error rolling back   errno: 50,
npm ERR! error rolling back   code: 'EPERM',
npm ERR! error rolling back   path: 'C:\\Users\\Administrator\\AppData\\Roaming\\npm\\node_modules\\strong-supervisor\\n
ode_modules\\strong-cluster-control\\node_modules\\lodash\\lodash.js' }
npm ERR! Error: shasum check failed for C:\Users\ADMINI~1\AppData\Local\Temp\2\npm-1392-wjz3VAtm\registry.npmjs.org\mome
nt\-\moment-2.8.1.tgz
npm ERR! Expected: 2fc71c216c40af2b4b543cb168ba9a5f52996b0f
npm ERR! Actual:   aaed33a123a728d3b5efb1ade05a23ae5424b95f
npm ERR! From:     https://registry.npmjs.org/moment/-/moment-2.8.1.tgz
npm ERR!     at C:\Program Files\nodejs\node_modules\npm\node_modules\sha\index.js:38:8
npm ERR!     at ReadStream.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\sha\index.js:85:7)
npm ERR!     at ReadStream.emit (events.js:117:20)
npm ERR!     at _stream_readable.js:938:16
npm ERR!     at process._tickCallback (node.js:419:13)
npm ERR! If you need help, you may report this *entire* log,
npm ERR! including the npm and node versions, at:
npm ERR!     <http://github.com/npm/npm/issues>
npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js"
 "i" "-g" "strongloop"
npm ERR! cwd C:\Users\Administrator
npm ERR! node -v v0.10.30
npm ERR! npm -v 1.4.21
npm ERR! Error: ENOENT, lstat 'C:\Users\Administrator\AppData\Roaming\npm\node_modules\strong-supervisor\node_modules\st
rong-cluster-control\node_modules\lodash\lodash.js'
npm ERR! If you need help, you may report this *entire* log,
npm ERR! including the npm and node versions, at:
npm ERR!     <http://github.com/npm/npm/issues>
npm ERR! System Windows_NT 6.1.7601
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js"
 "i" "-g" "strongloop"
npm ERR! cwd C:\Users\Administrator
npm ERR! node -v v0.10.30
npm ERR! npm -v 1.4.21
npm ERR! path C:\Users\Administrator\AppData\Roaming\npm\node_modules\strong-supervisor\node_modules\strong-cluster-cont
rol\node_modules\lodash\lodash.js
npm ERR! fstream_path C:\Users\Administrator\AppData\Roaming\npm\node_modules\strong-supervisor\node_modules\strong-clus
ter-control\node_modules\lodash\lodash.js
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack C:\Program Files\nodejs\node_modules\npm\node_modules\fstream\lib\writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (evalmachine.<anonymous>:107:15)
npm WARN optional dep failed, continuing node-syslog@1.1.7
\

> ws@0.4.31 install C:\Users\Administrator\AppData\Roaming\npm\node_modules\node-inspector\node_modules\ws
> (node-gyp rebuild 2> builderror.log) || (exit 0)

C:\Users\Administrator\AppData\Roaming\npm\node_modules\node-inspector\node_modules\ws>node "C:\Program Files\nodejs\nod
e_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
  bufferutil.cc
C:\Users\Administrator\AppData\Roaming\npm\node_modules\node-inspector\node_modules\ws\node_modules\nan\nan.h(781): war
ning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data [C:\Users\Administrator\AppData\Roami
ng\npm\node_modules\node-inspector\node_modules\ws\build\bufferutil.vcxproj]
C:\Users\Administrator\AppData\Roaming\npm\node_modules\node-inspector\node_modules\ws\node_modules\nan\nan.h(798): war
ning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data [C:\Users\Administrator\AppData\Roami
ng\npm\node_modules\node-inspector\node_modules\ws\build\bufferutil.vcxproj]
C:\Users\Administrator\AppData\Roaming\npm\node_modules\node-inspector\node_modules\ws\node_modules\nan\nan.h(829): war
ning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data [C:\Users\Administrator\AppData\Roami
ng\npm\node_modules\node-inspector\node_modules\ws\build\bufferutil.vcxproj]
C:\Users\Administrator\AppData\Roaming\npm\node_modules\node-inspector\node_modules\ws\node_modules\nan\nan.h(858): war
ning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data [C:\Users\Administrator\AppData\Roami
ng\npm\node_modules\node-inspector\node_modules\ws\build\bufferutil.vcxproj]
C:\Users\Administrator\AppData\Roaming\npm\node_modules\node-inspector\node_modules\ws\node_modules\nan\nan.h(646): war
ning C4244: 'initializing' : conversion from '__int64' to 'int', possible loss of data [C:\Users\Administrator\AppData\
Roaming\npm\node_modules\node-inspector\node_modules\ws\build\bufferutil.vcxproj]
          C:\Users\Administrator\AppData\Roaming\npm\node_modules\node-inspector\node_modules\ws\node_modules\nan\nan.h
  (840) : see reference to function template instantiation 'size_t _nan_base64_decode<char>(char *,size_t,const TypeNam
  e *,const size_t)' being compiled
          with
          [
              TypeName=char
          ]
C:\Users\Administrator\.node-gyp\0.10.30\deps\v8\include\v8.h(179): warning C4506: no definition for inline function 'v
8::Persistent<T> v8::Persistent<T>::New(v8::Handle<T>)' [C:\Users\Administrator\AppData\Roaming\npm\node_modules\node-i
nspector\node_modules\ws\build\bufferutil.vcxproj]
          with
          [
              T=v8::Object
          ]
-     Creating library C:\Users\Administrator\AppData\Roaming\npm\node_modules\node-inspector\node_modules\ws\build\Rele

  build\Release\bufferutil.expt C:\Users\Administrator\AppData\Roaming\npm\node_modules\node-inspector\node_modules\ws\
  Finished generating code
  bufferutil.vcxproj -> C:\Users\Administrator\AppData\Roaming\npm\node_modules\node-inspector\node_modules\ws\build\Re
  lease\\bufferutil.node
  validation.cc
C:\Users\Administrator\AppData\Roaming\npm\node_modules\node-inspector\node_modules\ws\node_modules\nan\nan.h(781): war
|ning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data [C:\Users\Administrator\AppData\Roami

C:\Users\Administrator\AppData\Roaming\npm\node_modules\node-inspector\node_modules\ws\node_modules\nan\nan.h(798): war
ning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data [C:\Users\Administrator\AppData\Roami
ng\npm\node_modules\node-inspector\node_modules\ws\build\validation.vcxproj]
C:\Users\Administrator\AppData\Roaming\npm\node_modules\node-inspector\node_modules\ws\node_modules\nan\nan.h(829): war
ning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data [C:\Users\Administrator\AppData\Roami
ng\npm\node_modules\node-inspector\node_modules\ws\build\validation.vcxproj]
C:\Users\Administrator\AppData\Roaming\npm\node_modules\node-inspector\node_modules\ws\node_modules\nan\nan.h(858): war
ning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data [C:\Users\Administrator\AppData\Roami
ng\npm\node_modules\node-inspector\node_modules\ws\build\validation.vcxproj]
C:\Users\Administrator\AppData\Roaming\npm\node_modules\node-inspector\node_modules\ws\node_modules\nan\nan.h(646): war
ning C4244: 'initializing' : conversion from '__int64' to 'int', possible loss of data [C:\Users\Administrator\AppData\
Roaming\npm\node_modules\node-inspector\node_modules\ws\build\validation.vcxproj]
          C:\Users\Administrator\AppData\Roaming\npm\node_modules\node-inspector\node_modules\ws\node_modules\nan\nan.h
  (840) : see reference to function template instantiation 'size_t _nan_base64_decode<char>(char *,size_t,const TypeNam
  e *,const size_t)' being compiled
          with
          [
              TypeName=char
          ]
C:\Users\Administrator\.node-gyp\0.10.30\deps\v8\include\v8.h(179): warning C4506: no definition for inline function 'v
8::Persistent<T> v8::Persistent<T>::New(v8::Handle<T>)' [C:\Users\Administrator\AppData\Roaming\npm\node_modules\node-i
nspector\node_modules\ws\build\validation.vcxproj]
          with
          [
              T=v8::Object
          ]
     Creating library C:\Users\Administrator\AppData\Roaming\npm\node_modules\node-inspector\node_modules\ws\build\Rele
  ase\validation.lib and object C:\Users\Administrator\AppData\Roaming\npm\node_modules\node-inspector\node_modules\ws\
  build\Release\validation.exp
-  Generating code
  validation.vcxproj -> C:\Users\Administrator\AppData\Roaming\npm\node_modules\node-inspector\node_modules\ws\build\Re
  lease\\validation.node
C:\Users\Administrator\AppData\Roaming\npm\node-inspector -> C:\Users\Administrator\AppData\Roaming\npm\node_modules\nod
e-inspector\bin\inspector.js
C:\Users\Administrator\AppData\Roaming\npm\node-debug -> C:\Users\Administrator\AppData\Roaming\npm\node_modules\node-in
spector\bin\node-debug.js
C:\Users\Administrator\AppData\Roaming\npm\lb-ng -> C:\Users\Administrator\AppData\Roaming\npm\node_modules\loopback-sdk
-angular-cli\bin\lb-ng
C:\Users\Administrator\AppData\Roaming\npm\lb-ng-doc -> C:\Users\Administrator\AppData\Roaming\npm\node_modules\loopback
-sdk-angular-cli\bin\lb-ng-doc
C:\Users\Administrator\AppData\Roaming\npm\yo -> C:\Users\Administrator\AppData\Roaming\npm\node_modules\yo\cli.js

> yo@1.2.1 postinstall C:\Users\Administrator\AppData\Roaming\npm\node_modules\yo
> node ./scripts/doctor

[Yeoman Doctor] Everything looks alright!

C:\Users\Administrator\AppData\Roaming\npm\grunt -> C:\Users\Administrator\AppData\Roaming\npm\node_modules\grunt-cli\bi
n\grunt
C:\Users\Administrator\AppData\Roaming\npm\bower -> C:\Users\Administrator\AppData\Roaming\npm\node_modules\bower\bin\bo
wer
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     C:\Users\Administrator\npm-debug.log

Link to npm-debug.log - https://gist.github.com/cgole/621023b96909e4fab24c

sam-github commented 10 years ago

Note that node-syslog is an optional dependency, not expected to build on windows, the real issues start at about

npm ERR! fstream_path C:\Users\Administrator\AppData\Roaming\npm\node_modules\strong-supervisor\node_modules\strong-agen
t\src\extras.h
npm ERR! fstream_type File
npm ERR! fstream_class FileWriter
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! fstream_stack C:\Program Files\nodejs\node_modules\npm\node_modules\fstream\lib\writer.js:284:26
npm ERR! fstream_stack Object.oncomplete (evalmachine.:107:15)
npm ERR! error rolling back Error: EPERM, unlink 'C:\Users\Administrator\AppData\Roaming\npm\node_modules\strong-supervi
sor\node_modules\strong-cluster-control\node_modules\lodash\lodash.js'
npm ERR! error rolling back strong-supervisor@0.3.0 { [Error: EPERM, unlink 'C:\Users\Administrator\AppData\Roaming\npm
\node_modules\strong-supervisor\node_modules\strong-cluster-control\node_modules\lodash\lodash.js']
npm ERR! error rolling back errno: 50,
npm ERR! error rolling back code: 'EPERM',
npm ERR! error rolling back path: 'C:\Users\Administrator\AppData\Roaming\npm\node_modules\strong-supervisor\n

Where npm starts spitting ENOENT and EPERM errors on trying to unlink the lodash deps, and header files that are definitely in the tar package archive for strong-agent.

It appears to me that race conditions are common on windows. This is a large package, with lots of deps, but the problem is very reproduceable.

othiym23 commented 10 years ago

npm has been playing a game of whack-a-mole with various locking and race condition issues; as of npm@2.0.0 and npm@1.4.28, I believe that we've finally gotten on top of them. See #6043 for details on the resolution of this issue (which was specifically related to rolling back from failed installs of optionalDependencies), as well as instructions on how to install the new versions and test the fix. Thanks for your patience, and sorry for taking a while to get this resolved!