我尝试用npm安装角度cli。但是在执行命令npm install -g @ angular / cli时我收到以下错误。 我不是以管理员身份执行此命令,而是以用户身份执行此命令。
D:\AngularWorkstation>npm install -g @angular/cli
npm WARN sass-loader@6.0.6 requires a peer of node-sass@^4.0.0 but none is installed. You must install peer dependencies yourself.
npm ERR! path **D:\node_modules\node_modules\@angular\cli\node_modules\which\package.json.365294863
npm ERR! code EPERM
npm ERR! errno -4048
npm ERR! syscall rename
npm ERR! Error: EPERM: operation not permitted, rename 'D:\node_modules\node_modules\@angular\cli\node_modules\which\package.json.365294863' -> 'D:\node_modules\node_modules\@angular\cli\node_modules\which\package.json'
npm ERR! { Error: EPERM: operation not permitted, rename 'D:\node_modules\node_modules\@angular\cli\node_modules\which\package.json.365294863' -> 'D:\node_modules\node_modules\@angular\cli\node_modules\which\package.json'
npm ERR! cause:
npm ERR! { Error: EPERM: operation not permitted, rename 'D:\node_modules\node_modules\@angular\cli\node_modules\which\package.json.365294863' ->** 'D:\node_modules\node_modules\@angular\cli\node_modules\which\package.json'
npm ERR! errno: -4048,
npm ERR! code: 'EPERM',
npm ERR! syscall: 'rename',
npm ERR! path: 'D:\\node_modules\\node_modules\\@angular\\cli\\node_modules\\which\\package.json.365294863',
npm ERR! dest: 'D:\\node_modules\\node_modules\\@angular\\cli\\node_modules\\which\\package.json' },
npm ERR! stack: 'Error: EPERM: operation not permitted, rename \'D:\\node_modules\\node_modules\\@angular\\cli\\node_modules\\which\\package.json.365294863\' -> \'D:\\node_modules\\node_modules\\@angular\\cli\\node_modules\\which\\package.json\'',
npm ERR! errno: -4048,
npm ERR! code: 'EPERM',
npm ERR! syscall: 'rename',
npm ERR! path: 'D:\\node_modules\\node_modules\\@angular\\cli\\node_modules\\which\\package.json.365294863',
npm ERR! dest: 'D:\\node_modules\\node_modules\\@angular\\cli\\node_modules\\which\\package.json',
npm ERR! parent: '@angular/cli' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\techno\AppData\Roaming\npm-cache\_logs\2018-01-03T09_14_35_602Z-debug.log
* PS:我正在使用Windows10操作系统。我还尝试将npm全局路径更改为'D:\ node_modules'以检查是否由于权限问题。但是输出是一样的。
node --version : v7.7.2
npm --version : 4.1.2*
答案 0 :(得分:0)
从错误日志中,安装软件包时似乎存在一些权限问题。您可以通过两种方式专门解决此问题。
1)如果您尝试全局安装软件包,则必须使用管理用户或使用npm install <pkg_name> -g
命令运行sudo npm install <pkg_name> -g
命令。
要全局安装npm-packages
,您可以按照以下步骤操作:
npm install <pkg_name> -g
。2)您应该尝试转到Windows资源管理器中的顶级文件夹,右键单击&#34;获取更多信息&#34;选项然后转到权限部分,给自己所有权限,并告诉它以递归方式应用它们。
或者只是您可以转到指定的npm working directory
并编辑到权限部分,并允许当前用户的所有权限,并将所有递归目录的所有者更改为自身。
然后再次启动Windows。
注意:如果要在本地安装npm-package
,那么您应该位于本地项目目录中,并且可以尝试运行sudo npm install <pkg-name>
命令来安装所需的软件包。使用sudo
的目的是它将更改您的所有者权限,以便您可以授权当前用户运行npm
命令。
答案 1 :(得分:0)
1)卸载节点 2)从[https://nodejs.org/en/][1]下载node的最新版本。 3)安装节点js
答案 2 :(得分:0)
尝试在Windows 10上使用npm安装Yeoman时遇到了类似的问题。罪魁祸首是我的计算机上安装的McAfee AV软件。 迈克菲似乎正在扫描npm试图对json文件进行的更改,并且作为扫描例程的一部分,阻止了重命名的发生。这导致npm引发4048错误,类似于您的输出错误。
要解决这个问题,我:
或者,您可以更改AV软件的设置,以不主动检查node_modules文件夹的文件更改。希望这可以使您的AV软件保持安装状态,并且npm命令也可以正常工作。