我使用的是节点v6.11.2,npm v5.3.0和angular / cli v1.2.7。
对于我的大多数npm安装,我突然收到以下错误消息。从来没见过......
mmeppiel@MC-LT-MMEPPIEL MINGW64 ~/Desktop/Angular Solutions/my-app (master)
$ npm install --save bootstrap@4.0.0-alpha.6 font-awesome
npm ERR! path C:\Users\mmeppiel\Desktop\Angular Solutions\my-app\node_modules\fs events\node_modules
npm ERR! code EPERM
npm ERR! errno -4048
npm ERR! syscall lstat
npm ERR! Error: EPERM: operation not permitted, lstat 'C:\Users\mmeppiel\Desktop \Angular Solutions\my-app\node_modules\fsevents\node_modules'
npm ERR! at Error (native)
npm ERR! { Error: EPERM: operation not permitted, lstat 'C:\Users\mmeppiel\Desk top\Angular Solutions\my-app\node_modules\fsevents\node_modules'
npm ERR! at Error (native)
npm ERR! stack: 'Error: EPERM: operation not permitted, lstat \'C:\\Users\\mme ppiel\\Desktop\\Angular Solutions\\my-app\\node_modules\\fsevents\\node_modules\ '\n at Error (native)',
npm ERR! errno: -4048,
npm ERR! code: 'EPERM',
npm ERR! syscall: 'lstat',
npm ERR! path: 'C:\\Users\\mmeppiel\\Desktop\\Angular Solutions\\my-app\\node_ modules\\fsevents\\node_modules' }
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\mmeppiel\AppData\Roaming\npm-cache\_logs\2017-08-08T00_56_ 59_442Z-debug.log
有谁可以解释这里发生了什么?我尝试过的事情:
感谢您的时间!
答案 0 :(得分:7)
运行Visual Studio Code时出现此错误,因为typescript编译器会监视文件并将其锁定(请参阅https://github.com/Microsoft/vscode/issues/28593)。解决方案是在处理NPM时暂时关闭VS Code。也许你有看文件的东西?
答案 1 :(得分:3)
您使用的是私人或公司注册表吗?检查您的.npmrc
文件并确保其可用。
如果您在公司环境中,请确保代理不是问题。
检查您的文件夹中是否生成了任何package-lock.json。您可以删除重新安装。
我毫不怀疑,但是节点6.x.x与npm 5.x.x可能是一个问题,因为节点7.x.x与5.x.x兼容。通常,节点6.x.x与npm 4.x.x兼容
答案 2 :(得分:1)
这可能会有助https://alastaircrabtree.com/fixing-intermittant-eperm-operation-not-permitted-on-npm-install/
同时尝试使用不同的node
版本,在Windows上升级/切换node
的最佳方法是使用nvm-windows这样你就可以在你的dev上安装多个节点版本机器你可以切换。
当你处理这样的问题时,你必须确保没有任何东西像你的代码编辑器那样锁定我们的node_modules
文件夹(例如VS代码等),或者你可能在另一个控制台中运行npm start
窗口等
如果您仍然遇到此问题,请尝试从系统中uninstall both node and npm。然后重新启动计算机并再次安装节点和npm。
通过查看npm issues filtering by npm ERR! code EPERM
,这是常见问题。如果您浏览其中一些问题,您会看到有人说切换节点版本实际上是有帮助的(我上面首先说的是这样)所以您需要使用nvm-windows并查看哪个节点版本效果最好为了你。
安装nvm-windows后,即可:
nvm list
- 显示您可以切换到的所有本地节点版本nvm list available
- 显示您可以在本地安装的all actual node versions nvm install <version number>
- 安装(下载+安装)特定节点版本nvm use <version number>
切换到特定节点版本nvm help
- 会给你帮助如果你从主要版本的npm跳过你的一些包裹 安装上一个节点版本可能不再适用于您 必须重新安装它们
答案 3 :(得分:0)
即使使用Node v8.6.0
和npm v5.4.2
,我也遇到了同样的问题。
解决:
npm cache clean --force
&安培;
npm install [package] --force
答案 4 :(得分:0)
非常类似的问题,只有特定的抱怨是scandir在新应用程序的目标目录中的某个子文件夹(fsevents)上失败了。我查了一下,发现有问题的文件夹甚至不存在,因为它是npm install上跳过的可选依赖项的产物,因为我在Windows而不是Linux。
运行app build命令的脚本以这样一种方式运行,以便在新的&#34;在Windows PowerShell下运行。在普通的cmd窗口中运行时它不起作用。因此,在我的情况下,修复只是在Windows PowerShell下运行而不是在cmd窗口中运行,并且安装成功完成 - 最后,在尝试了其他一些事情之后。
答案 5 :(得分:0)
以管理员身份运行Windows命令提示符。 然后导航(&#34; cd directoryName&#34;)到你的项目文件夹do&#34; npm install&#34;。
答案 6 :(得分:0)
通常我们假设“ tns run android”命令也会设置android平台,这对我来说失败了两次,然后我按照给定的顺序运行以下两个命令来解决它:
tns platform add android
tns run android
答案 7 :(得分:0)
通过全局安装打字稿来解决此问题。 Angular编译器需要TypeScript> = 3.1.1和<3.3.0 将package.json中的版本更改为已安装的版本。 然后安装了npm
npm install -g typescript
npm info typescript version
npm install
答案 8 :(得分:0)
这可能是最基本的解决方案,但是只有给予许可才能解决EPERM错误。
停用您计算机上的所有防病毒软件(直到完全安装)。
确保 adb.exe 文件(如果有)不在后台运行。
为此,请打开任务管理器,转到“进程”选项卡并结束adb.exe进程。
卸载不完整的expo-cli先前安装
npm卸载-g expo-cli --save
现在,安装 expo-cli应用
npm install -g expo-cli
在我看来,这已经达到了目的。可能也会为别人做。
干杯!
答案 9 :(得分:0)
通常是因为没有权限访问C:/ Users / ...中的文件夹 如果您在C:/ Users / ..文件夹中创建了项目,则需要获得管理权限才能对该文件夹进行更改。 以管理员身份运行代码编辑器。 这将使程序可以对该文件夹进行更改。
答案 10 :(得分:-1)
问题是您使用的操作系统节点版本不正确。它正在尝试获取Windows上不存在的lstat(POSIX系统调用)。
目前我没有install the correct npm
希望这有助于你!
https://linux.die.net/man/2/lstat
修改强> 如果你找不到我建议您去Github问题页面的修复程序。
答案 11 :(得分:-1)
尝试运行命令提示符管理员。为我工作。
答案 12 :(得分:-1)
删除节点模块并运行npm cache clean --force
然后运行
npm install --save
为我工作