当前npm安装位置C:\Users\{用户名}\AppData\Roaming pm 需要管理员权限才能安装软件包

问题描述 投票:0回答:1

我正在使用 Visual Studio 2015 创建

cordova
应用程序,直到上个月它都运行良好。 我已经通过从网站下载更新了节点和 npm。 现在,当我尝试构建应用程序时,它给我以下错误消息。 我已尽我所能,但无法解决问题。 请帮助我解决这个问题,因为它导致我的项目交付延迟。

错误信息:

严重性代码描述项目文件行抑制状态 错误

当前npm安装位置C:\Users{user}\AppData\Roaming pm 需要管理员权限才能安装软件包。要解决此问题,请更改 C:\Users{user}\AppData\Roaming 的 ACL pm 或通过运行 'npm config set prefix %AppData% 更改安装路径 pm' 并重新启动 Visual Studio,以便无需管理员身份即可进行构建。 eInspection D:InspectionBuild Inspection 检查\RUNMDAINSTALL 1

1)我尝试将node js位置更改为tools-->option-->external web tool 2)还尝试重新安装vs

npm visual-studio-2015 visual-studio-cordova
1个回答
0
投票

在过去的两周里,我一直在将 cordova 7 升级到 12,基本上是为了遵守 Android 12 和 13 有关本地和推送通知的要求,在升级 cordova 和所需的插件后,我可以使用 cordova 命令构建,但是不通过 Visual Studio。我遇到了上述相同的错误。

经过大量挖掘后,我意识到罪魁祸首是 vs-tac 1.0.42 中包含的脚本(这是我找到的最后一个版本)。请记住,Microsoft 停止支持 apache cordova 工具,并且它不适用于较新版本的 Node 和 npm。

我能够通过执行以下操作来构建 Android 项目:

  1. 找到你的 vs-tac 文件夹,对我来说是 C:\Users\USERNAME\AppData\Roaming 下午 ode_modules s-tac
  2. 在 install.js 文件中,找到 checkIfInstallDirectoryIsWritable 函数
  3. fs.unlink(fileName) 函数需要回调作为第二个参数,这将解决您的权限错误:fs.unlink(fileName, function (error) {});
  4. 如果遇到找不到包的错误,请在 vs-tac 文件夹上运行 npm update。
  5. 此后,我必须更新 vs-tac 文件夹中包含的每个 *.js 文件的所有不受支持的 cordova.raw 调用。

我希望这些信息对每个希望继续使用 cordova、node 和 npm 的更新版本构建应用程序的人有用。

这些是我的环境的规格:

  • Visual Studio 2015 14.0.25431.01
  • 适用于 Apache Cordova 更新 10 的 Visual Studio 工具
  • 节点16.13.2
  • npm 8.1.2
  • cordova-cli 12.0.0
  • cordova-android 12.0.1

干杯

© www.soinside.com 2019 - 2024. All rights reserved.