What could cause an error related to npm not being able to find a file? No contents in my node_modules subfolder. Why is that?
Solution 1
It might be related to corruption in Angular Packages or incompatibility of packages.
Please follow the below steps to solve the issue.
- Delete node_modules folder manually.
- Install Node ( https://nodejs.org/en/download ).
- Install Yarn ( https://yarnpkg.com/en/docs/install ).
- Open command prompt , go to path angular folder and run Yarn.
- Run angular\nswag\refresh.bat.
- Run npm start from the angular folder.
Update
ASP.NET Boilerplate suggests here to use yarn because npm has some problems. It is slow and can not consistently resolve dependencies, yarn solves those problems and it is compatible to npm as well.
Solution 2
The following steps work for me:
npm cache clean -f
rm -rf node_modules
npm i
Solution 3
I had the SAME issue today and it was driving me nuts!!! What I had done was upgrade to node 8.10 and upgrade my NPM to the latest I uninstalled angular CLI
npm uninstall -g angular-cli
npm uninstall --save-dev angular-cli
I then verified my Cache from NPM if it wasn't up to date I cleaned it and ran the install again
if npm version is < 5 then use npm cache clean --force
npm install -g @angular/cli@latest
and created a new project file and create a new angular project.
Solution 4
Try the following steps:
1. Make sure you have the latest npm (npm install -g npm).
2. Add an exception to your antivirus to ignore the node_modules folder in your project.
3. $ rm -rf node_modules package-lock.json .
4. $ npm install
Solution 5
Following what @viveknuna suggested, I upgraded to the latest version of node.js and npm using the downloaded installer. I also installed the latest version of yarn using a downloaded installer. Then, as you can see below, I upgraded angular-cli and typescript. Here's what that process looked like:
D:\Dev\AspNetBoilerplate\MyProject\3.5.0\angular>npm install -g @angular/cli@latest
C:\Users\Jack\AppData\Roaming\npm\ng -> C:\Users\Jack\AppData\Roaming\npm\node_modules\@angular\cli\bin\ng
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\@angular\cli\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
+ @angular/[email protected]
added 75 packages, removed 166 packages, updated 61 packages and moved 24 packages in 29.084s
D:\Dev\AspNetBoilerplate\MyProject\3.5.0\angular>npm install -g typescript
C:\Users\Jack\AppData\Roaming\npm\tsserver -> C:\Users\Jack\AppData\Roaming\npm\node_modules\typescript\bin\tsserver
C:\Users\Jack\AppData\Roaming\npm\tsc -> C:\Users\Jack\AppData\Roaming\npm\node_modules\typescript\bin\tsc
+ [email protected]
updated 1 package in 2.427s
D:\Dev\AspNetBoilerplate\MyProject\3.5.0\angular>node -v
v8.10.0
D:\Dev\AspNetBoilerplate\MyProject\3.5.0\angular>npm -v
5.6.0
D:\Dev\AspNetBoilerplate\MyProject\3.5.0\angular>yarn --version
1.5.1
Thereafter, I ran yarn
and npm start
in my angular folder and all appears to be well. Here's what that looked like:
D:\Dev\AspNetBoilerplate\MyProject\3.5.0\angular>yarn
yarn install v1.5.1
[1/4] Resolving packages...
[2/4] Fetching packages...
info [email protected]: The platform "win32" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
warning "@angular/cli > @schematics/[email protected]" has incorrect peer dependency "@angular-devkit/[email protected]".
warning "@angular/cli > @angular-devkit/schematics > @schematics/[email protected]" has incorrect peer dependency "@angular-devkit/[email protected]".
warning " > [email protected]" has incorrect peer dependency "@angular/compiler@^2.3.1 || >=4.0.0-beta <5.0.0".
warning " > [email protected]" has incorrect peer dependency "@angular/core@^2.3.1 || >=4.0.0-beta <5.0.0".
[4/4] Building fresh packages...
Done in 232.79s.
D:\Dev\AspNetBoilerplate\MyProject\3.5.0\angular>npm start
> [email protected] start D:\Dev\AspNetBoilerplate\MyProject\3.5.0\angular
> ng serve --host 0.0.0.0 --port 4200
** NG Live Development Server is listening on 0.0.0.0:4200, open your browser on http://localhost:4200/ **
Date: 2018-03-22T13:17:28.935Z
Hash: 8f226b6fa069b7c201ea
Time: 22494ms
chunk {account.module} account.module.chunk.js () 129 kB [rendered]
chunk {app.module} app.module.chunk.js () 497 kB [rendered]
chunk {common} common.chunk.js (common) 1.46 MB [rendered]
chunk {inline} inline.bundle.js (inline) 5.79 kB [entry] [rendered]
chunk {main} main.bundle.js (main) 515 kB [initial] [rendered]
chunk {polyfills} polyfills.bundle.js (polyfills) 1.1 MB [initial] [rendered]
chunk {styles} styles.bundle.js (styles) 1.53 MB [initial] [rendered]
chunk {vendor} vendor.bundle.js (vendor) 15.1 MB [initial] [rendered]
webpack: Compiled successfully.
jlavallet
I have been writing software since 1997 – web-based applications, desktop applications, server integrations, etc. My primary technologies are now .NET based although I have coded extensively in Java in the past. As a company we also specialize in document imaging and reselling ECM solutions.
Updated on November 20, 2021Comments
-
jlavallet over 2 years
I'm trying to run
npm install
in the angular project folder I got from ASP.NET Boilerplate and I'm getting an error that is "related to npm not being able to find a file."D:\Dev\AspNetBoilerplate\MyProject\3.5.0\angular>npm install npm WARN deprecated @types/[email protected]: This is a stub types definition for Moment (https://github.com/moment/moment). Moment provides its own type definitions, so you don't need @types/moment installed! npm WARN [email protected] requires a peer of @angular/compiler@^2.3.1 || >=4.0.0-beta <5.0.0 but none is installed. You must install peer dependencies yourself. npm WARN [email protected] requires a peer of @angular/core@^2.3.1 || >=4.0.0-beta <5.0.0 but none is installed. You must install peer dependencies yourself. npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\fsevents): npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Error: EPERM: operation not permitted, rename 'D:\Dev\AspNetBoilerplate\MyProject\3.5.0\angular\node_modules\.staging\fsevents-8cc0601e\node_modules\are-we-there-yet' -> 'D:\Dev\AspNetBoilerplate\MyProject\3.5.0\angular\node_modules\.staging\are-we-there-yet-cedb4a6a' npm ERR! path D:\Dev\AspNetBoilerplate\MyProject\3.5.0\angular\node_modules\@angular-devkit\build-optimizer\node_modules\typescript npm ERR! code ENOENT npm ERR! errno -4058 npm ERR! syscall rename npm ERR! enoent ENOENT: no such file or directory, rename 'D:\Dev\AspNetBoilerplate\MyProject\3.5.0\angular\node_modules\@angular-devkit\build-optimizer\node_modules\typescript' -> 'D:\Dev\AspNetBoilerplate\MyProject\3.5.0\angular\node_modules\@angular-devkit\build-optimizer\node_modules\.typescript.DELETE' npm ERR! enoent This is related to npm not being able to find a file. npm ERR! enoent npm ERR! A complete log of this run can be found in: npm ERR! C:\Users\Jack\AppData\Roaming\npm-cache\_logs\2018-03-21T19_33_18_250Z-debug.log
I can clearly see that this is happening because my
node_modules
subfolder contains only a single folder structure with no files within it. That structure is:node_modules\@angular-devkit\build-optimizer\node_modules
I have node 8.9.4, npm 5.6.0, and angular-CLI 1.5.0 installed as well as typescript 2.0.0. The latter two packages have been installed globally.
Here are the
package.json
file contents:{ "name": "MyProject", "version": "0.0.0", "license": "MIT", "angular-cli": {}, "scripts": { "ng": "ng", "start": "ng serve --host 0.0.0.0 --port 4200", "hmr": "ng serve --host 0.0.0.0 --port 4200 4201 --hmr -e=hmr", "test": "ng test", "pree2e": "webdriver-manager update --standalone false --gecko false", "e2e": "protractor" }, "private": true, "dependencies": { "@angular/animations": "^5.0.3", "@angular/common": "^5.0.3", "@angular/compiler": "^5.0.3", "@angular/core": "^5.0.3", "@angular/forms": "^5.0.3", "@angular/http": "^5.0.3", "@angular/platform-browser": "^5.0.3", "@angular/platform-browser-dynamic": "^5.0.3", "@angular/router": "^5.0.3", "@aspnet/signalr": "1.0.0-preview1-28189", "@types/bootstrap": "^3.3.33", "@types/jquery": "^3.2.12", "@types/jquery.blockui": "0.0.28", "@types/jquery.validation": "^1.16.3", "@types/lodash": "^4.14.62", "@types/moment": "^2.13.0", "@types/moment-timezone": "^0.2.34", "@types/signalr": "^2.2.33", "@types/toastr": "^2.1.33", "abp-ng2-module": "^1.3.0", "abp-web-resources": "^3.3.0", "animate.css": "^3.5.2", "block-ui": "^2.70.1", "bootstrap": "^3.3.7", "bootstrap-select": "^1.12.2", "chart.js": "^2.6.0", "core-js": "^2.4.1", "famfamfam-flags": "^1.0.0", "flot": "^0.8.0-alpha", "font-awesome": "^4.7.0", "jquery": "^3.1.1", "jquery-countto": "^1.2.0", "jquery-migrate": "^3.0.0", "jquery-slimscroll": "^1.3.8", "jquery-sparkline": "^2.4.0", "js-cookie": "^2.1.4", "lodash": "^4.17.4", "moment": "^2.18.1", "moment-timezone": "^0.5.13", "morris.js": "^0.5.0", "ngx-bootstrap": "^2.0.2", "ngx-pagination": "^3.0.3", "node-waves": "^0.7.5", "push.js": "1.0.4", "raphael": "^2.2.7", "rxjs": "^5.5.2", "signalr": "^2.2.1", "simple-line-icons": "^2.4.1", "spin.js": "^2.3.2", "sweetalert": "^2.0.8", "toastr": "^2.1.2", "ts-helpers": "^1.1.2", "web-animations-js": "^2.3.1", "zone.js": "0.8.18" }, "devDependencies": { "@angular/cli": "^1.5.4", "@angular/compiler-cli": "^5.0.3", "@angularclass/hmr": "^2.1.3", "@types/jasmine": "^2.5.38", "@types/node": "^8.0.27", "codelyzer": "^3.1.2", "jasmine-core": "^2.5.2", "jasmine-spec-reporter": "^4.2.1", "karma": "^1.4.1", "karma-chrome-launcher": "^2.0.0", "karma-cli": "^1.0.1", "karma-coverage-istanbul-reporter": "^1.3.0", "karma-jasmine": "^1.1.0", "karma-jasmine-html-reporter": "^0.2.2", "nswag": "^11.12.7", "protractor": "^5.1.1", "ts-node": "^3.3.0", "tslint": "^5.7.0", "typescript": "2.4.2" } }
When I run
npm install
, I can see the packages being downloaded into the.staging
folder. At the point that thefinalize
command is run (see the log below), I can see that the package folders are being consolidated and copied somewhere, but that somewhere does not appear to be mynode_modules
subfolder other than the first set of subfolders as I have shown above. When thenpm install
completes, the.staging
folder is deleted and all that I have left is that partial folder structure.Admittedly I am new to Node development - I usually work on our ASP.NET Web API backends. I'm trying to get my development environment in sync with our front-end developer's development environment. I have spent most of the day looking for a solution. I've tried uninstalling and reinstalling Node. I've tried different versions that match our front-end developer's environment. I've tried using the latest versions of angular-CLI and typescript and have fallen back to the versions I reference above in hopes that the "requires a peer" warnings would be resolved. I have searched for similar answers on this site. The closest one I have found remains unanswered.
Here is the end of the "complete log" referenced in the npm error output:
19577 silly saveTree | `-- [email protected] 19577 silly saveTree +-- [email protected] 19577 silly saveTree +-- [email protected] 19577 silly saveTree `-- [email protected] 19578 warn [email protected] requires a peer of @angular/compiler@^2.3.1 || >=4.0.0-beta <5.0.0 but none is installed. You must install peer dependencies yourself. 19579 warn [email protected] requires a peer of @angular/core@^2.3.1 || >=4.0.0-beta <5.0.0 but none is installed. You must install peer dependencies yourself. 19580 warn optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\fsevents): 19581 warn optional SKIPPING OPTIONAL DEPENDENCY: Error: EPERM: operation not permitted, rename 'D:\Dev\AspNetBoilerplate\MyProject\3.5.0\angular\node_modules\.staging\fsevents-8cc0601e\node_modules\are-we-there-yet' -> 'D:\Dev\AspNetBoilerplate\MyProject\3.5.0\angular\node_modules\.staging\are-we-there-yet-cedb4a6a' 19582 verbose optional SKIPPING OPTIONAL DEPENDENCY: 19582 verbose optional Please try running this command again as root/Administrator. 19583 verbose stack Error: ENOENT: no such file or directory, rename 'D:\Dev\AspNetBoilerplate\MyProject\3.5.0\angular\node_modules\@angular-devkit\build-optimizer\node_modules\typescript' -> 'D:\Dev\AspNetBoilerplate\MyProject\3.5.0\angular\node_modules\@angular-devkit\build-optimizer\node_modules\.typescript.DELETE' 19584 verbose cwd D:\Dev\AspNetBoilerplate\MyProject\3.5.0\angular 19585 verbose Windows_NT 10.0.16299 19586 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" 19587 verbose node v8.9.4 19588 verbose npm v5.6.0 19589 error path D:\Dev\AspNetBoilerplate\MyProject\3.5.0\angular\node_modules\@angular-devkit\build-optimizer\node_modules\typescript 19590 error code ENOENT 19591 error errno -4058 19592 error syscall rename 19593 error enoent ENOENT: no such file or directory, rename 'D:\Dev\AspNetBoilerplate\MyProject\3.5.0\angular\node_modules\@angular-devkit\build-optimizer\node_modules\typescript' -> 'D:\Dev\AspNetBoilerplate\MyProject\3.5.0\angular\node_modules\@angular-devkit\build-optimizer\node_modules\.typescript.DELETE' 19594 error enoent This is related to npm not being able to find a file. 19595 verbose exit [ -4058, true ]
Please advise.
-
jlavallet about 6 yearsUnfortunately, this solution did not seem to fix my problem. I followed it to the point of creating a new project file and a new angular project. Maybe that was key but during the run of the
npm uninstall --save-dev angular-cli
command it appeared to be doing exactly the same things as before. This surprised me because I thought all I was doing was uninstalling angular-cli. As I said in my post though – I am new to Node.js development so I may have missed something fundamental. Also, as I said in my post – I tried to runnpm install
with the latest versions of everything without success. -
vivek nuna about 6 yearsGood, it will help others :)
-
jlavallet about 6 yearsAlthough I used the procedure detailed in my answer below to actually fix my problem, @viveknuna provided the suggestions I needed to get the project working so I am accepting his answer "because it solved [my] problem [and] was most helpful in finding [my] solution".
-
vivek nuna about 6 years@jlavallet that’s why I upvoted your answer buddy :) happy coding.
-
papiro over 4 yearsso the solution is to switch to yarn ;P