可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I've been desperately trying to install modules using node.js but it always fails getting packages with npm.
I logged in as Administrator and used powershell/cmd with "run as administrator". I also had problems with the registry so I used npm set registry http://registry.npmjs.org/
I tried everything... it just drives me nuts.
Here are the errors:
npm ERR! Please try running this command again as root/Administrator.
npm ERR! System Windows_NT 6.2.9200 npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "generator-knockout" npm ERR! cwd D:\Sergiu\Knockout Test npm ERR! node -v v0.10.26 npm ERR! npm -v 1.4.3 npm ERR! path D:\Sergiu\Knockout Test\node_modules\generator-knockout\node_modules\yeoman-generator\node_modules\tar\node_modules\block-stream\block-stream.js npm ERR! fstream_path D:\Sergiu\Knockout Test\node_modules\generator-knockout\node_modules\yeoman-generator\node_modules\tar\node_modules\block-stream\block-stream.js npm ERR! fstream_type File npm ERR! fstream_class FileWriter npm ERR! code EPERM npm ERR! errno 50 npm ERR! stack Error: EPERM, lstat 'D:\Sergiu\Knockout Test\node_modules\generator-knockout\node_modules\yeoman-generator\node_modules\tar\node_modules\block-stream\block-stream.js' 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 (fs.js:107:15) npm ERR! Error: EPERM, lstat 'D:\Sergiu\Knockout Test\node_modules\generator-knockout\node_modules\yeoman-generator\node_modules\tar\node_modules\fstream\LICENSE' npm ERR! { [Error: EPERM, lstat 'D:\Sergiu\Knockout Test\node_modules\generator-knockout\node_modules\yeoman-generator\node_modules\tar\node_modules\fstream\LICENSE'] npm ERR! errno: 50, npm ERR! code: 'EPERM', npm ERR! path: 'D:\\Sergiu\\Knockout Test\\node_modules\\generator-knockout\\node_modules\\yeoman-generator\\node_modules\\tar\\node_modules\\fstream\\LICENSE', npm ERR! fstream_type: 'File', npm ERR! fstream_path: 'D:\\Sergiu\\Knockout Test\\node_modules\\generator-knockout\\node_modules\\yeoman-generator\\node_modules\\tar\\node_modules\\fstream\\LICENSE', npm ERR! fstream_class: 'FileWriter', npm ERR! fstream_stack: npm ERR! [ 'C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\fstream\\lib\\writer.js:284:26', npm ERR! 'Object.oncomplete (fs.js:107:15)' ] } npm ERR! npm ERR! Please try running this command again as root/Administrator.
回答1:
It turns out that you don’t have to run the command again as Administrator, and doing so won’t fix the problem.
Try:
npm cache clean
first.
If that doesn’t fix things, take a look in %APPDATA%\npm-cache
, or if you’re using PowerShell, $env:APPDATA\npm-cache
.
After cleaning the cache, you may still be left with remnants. Manually remove everything in that directory, and try again. This has always fixed things for me.
As @Crazzymatt was mentioning, as of the npm@5 version and up, we need to use npm cache verify
instead of npm cache clean
. Or else you will get an error as preceding.
npm ERR! As of npm@5, the npm cache self-heals from corruption issues and data extracted from the cache is guaranteed to be valid. If you want to make sure everything is consistent, use 'npm cache verify' instead.
(Source: MSDN Blog post)
回答2:
I solve it running as administrator cmd. Cleaning the cache npm cache clean -f
And then try to install the package again
回答3:
You should run cmd.exe as administrator.
Follow the following steps:
- Click Start, click All Programs, and then click Accessories.
- Right-click Command prompt, and then click Run as administrator.
回答4:
Here is how I fixed this on my Windows (7) Dev. environment. I assume the following...
- You are Running Command Prompt, Git Bash, Cmder or your favorite Terminal, as an Administrator by right clicking
- Privileges Permissions have been granted for Read/Write (i.e chmod -777)
Okay, let's get to it:
Update any packages where a version check is returning a warning ("npm WARN"..) for example...
npm update -g npm
npm update -g graceful-fs
Next we want to force a cache clean. This is flagged by an '--f' or '-f'..
npm cache clean --f
In Widows Explorer search for the following path
%APPDATA%\npm-cache
And Delete it's contents
- Start a fresh instance of your Terminal, remembering to 'Right-Click' and 'Run as Administrator', install the packages again.
Hope this helps someone!!
回答5:
I was already running the Node Command Window as Administrator. As mentioned by many above, the following command with --f (force) solved my issue.
npm cache clean -f
After the Cache Clean, the install was flawless. See the screenshot for reference
回答6:
I had the same problem, what I did to solve it was ran the cmd.exe as administrator even though my account was already set as an administrator.
回答7:
If you're using TFS or any other source control for your project that sets your checked in files to readonly mode, then you gotta make sure package.json is checked out before running npm install. I've made this mistake plenty of times.
回答8:
Here is how I fixed the problem in Windows. I was trying to install the CLI for Angular.
Turn off firewall and antivirus protections.
Right click the nodejs folder (under Program Files), select Properties (scroll all the way down), click the Security tab, and click all items in the ALLOW column (for All System Packages and any user or group that allows you to add the “allow” checkmark).
Click the Windows icon. Type cmd. Right click the top result and select Run as Administrator. A command window results.
Type npm cache clean. If there is an error, close log files or anything open and rerun.
Type npm install -g @angular/cli (Or whatever npm install command you are using)
Good luck! Note: If you are still having problems, check the Path in Environmental Variables. (To access: Control Panel → System and Security → System → Advanced system settings → Environment variables.) My path variable included the following: C:\Users\Michele\AppData\Roaming\npm
回答9:
If you are doing this on mac type: sudo chown -R $USER /usr/local that will give you administrative access to your files
回答10:
Try following steps
1. Run this command on Terminal or CMD - npm cache clean
2. Go to this folder on windows %APPDATA%\npm-cache
And delete folder which you want to install module (Ex:- laravel-elixir) or if you are using PowerShell, $env:APPDATA\npm-cache
3. Then Run your command EX:- npm install laravel-elixir
回答11:
What helped me on Windows 10 was just ticking off "Read Only" of project node_modules
.
回答12:
I messed with this problem 2 times and tried all suggestions here with mediocre success.
However, this method is quite frustrating and not working everytime. So try this:
Tadaaaaa, its working now. So all in all it was a problem with node.js. I recommend to everyone who runs into this problem: Try different node versions! And clean ABSOLUTE everything.
回答13:
As my last resort with this error I created a fresh windows 10 virtual machine and installed the latest nodejs (v6). But there was a host of other "ERRs!" to work through.
I had to run npm cache clean --force
which ironically will give you a message that reads "I sure hope you know what you are doing". That seems to have worked.
It doesn't solve the issue on my main Dev machine. I'm canning nodejs as I found over the last few years that you spend more time on fixing it rather than on actual development. I had fewer issues with node on linux ubuntu 14.04 if that's any help.
回答14:
Deleting the global npm-cache and/or running my cmd line as admin did not work for me. Also, as of npm version 5.x.x, it supposedly recovers from cache corruption by itself.
This did work:
1. Deleted the node_modules folder in my current project.
2. Deleted the package-lock.json in my current project
3. Installed the new package. In my case: npm install bootstrap@next --save
4. Ran npm install
for my current project.
Everything now works. In general, nuking node_modules and package-lock.json usually fix these "no apparent reason" bugs for me.
EDIT
I just had the same problem again. But I noticed that everything was installed correctly even though it threw the error after I had followed the steps outlined above. So I could just run ng serve
(for Angular), and everything worked.
This sure is a weird error...
回答15:
As a hack,
Check if the folder path it is complaining exists or not. If not, try creating them manually and rerun the installation, after clearing the cache
I had success with this, when running the installation from command prompt as an Administrator didn't work
回答16:
$ npm cache clean
npm ERR! As of npm@5, the npm cache self-heals from corruption issues and data extracted from the cache is guaranteed to be valid. If you want to make sure everything is consistent, use 'npm cache verify' instead.
I tried running npm cache verify
with admin rights and it worked after that.
回答17:
npm cache verify
Try for newer versions of npm.
I'm using v 5.5.1 and it's working fine.
回答18:
This worked for me, if your package.json
is not too big you can do this:
- Signout then signin.
- Delete
node_modules
. npm install
again.
回答19:
Like the other answers, clean npm cache and make sure the cache folder is empty, then run npm install several times. Each time the error message comes for different packages, and the final time (after X attempts) it succeeds.
- Run
npm clean cache --force
cd %APPDATA%\npm-cache
(or cd $env:APPDATA\npm-cache
for PowerShell) del *
to delete everything in the folder - Go back into the project folder and run
npm install
several times until it succeeds. Notice that the error messages come for different packages every time.
回答20:
WHAT WORKED FOR ME
I ran Command Prompt as Administrator. This helped partially - as I no longer got the error, "Please try using this command again as root/administrator". I was trying to install Cordova. To do it successfully, I also had to do the following:
(1) "npm update node", plus...
(2) I also added the " -g " in the >>npm install cordova>npm install -g cordova
~~~ FOR WINDOWS 8.1 ~~~
"RUN AS ADMINISTRATOR" COMMAND PROMPT
For windows 8.1, I don't have an ACCESSORIES group when I click START > ALL PROGRAMS. But I do have that older -- but trusty and reliable -- START BUTTON and START MENU - thanks to the free Classic Start Menu app. So, with that installed....
ALTERNATIVE #1:
1. Type "cmd" in the SEARCH BOX at the bottom of the START menu. 2. When cmd.exe shows up in the top of the search results, right click it and select RUN AS ADMINISTRATOR.
ALTERNATIVE #2 If you already have a Command Prompt window open and running - and you want to open another one to Run As Administrator:
1. Locate the Command Prompt app icon in the Taskbar (usually along the bottom of you screen unless you have moved it a different dock/location). 2. Right click the app icon. 3. Now, right click "COMMAND PROMPT" and select RUN AS ADMINISTRATOR.
Hope this helps someone.
回答21:
I don't know which steps worked for me. But these are my steps to get rid of this error:
- Updated Node.js
- Ran npm cache clean command in Command prompt ( With some element of doubt for cache presence)
- Ran react-native init in command prompt as Administrator (on Windows OS), hoping works well with sudo react-native init on Mac OS
回答22:
回答23:
- Close the IDE
- Close the node terminals running ng serve or npm start
- Go to your project folder/node_modules and see you if can find the package that you are trying to install
- If you find the package you are searching then delete package folder
- In case, this is your 1st npm install then skip step 4 and delete everything inside the node_modules. If you don't find node_modules then create one folder in your project.
- Open the terminal in admin mode and do npm install.
That should fix the issue hopefully