【发布时间】:2023-03-06 23:00:01
【问题描述】:
我收到了这条消息
npm WARN checkPermissions Missing Write Access to D:\my\path\node_module\bcrypt
在使用npm i bcrypt 安装bcrypt 包时
我尝试以管理员身份从cmd 和powershell 执行命令,但没有任何效果。
我还清空了缓存npm cache clean,手动删除了%AppData%/npm_cache目录。
我正在使用:npm 3.7.3node 5.9.1windows 7
为什么 npm 没有获得写入权限?
请注意,npm 可以安装和编写其他模块(即 angular2、mongoose、express 等)就好了。
【问题讨论】:
-
文件夹真的有什么权限?我遇到过一些情况,其中文件夹最终以 owner 的身份作为 SYSTEM (因此即使作为管理员也没有用户所有者写入,可能假设);根据 npm 模块所在的位置,它可能应该是您个人资料的帐户(这样您就可以拥有它)或 Program Files 的 TrustedInstaller(允许管理员写入权限)。
-
tldr;我的第一步就是为 npm root 重置所有者。
-
我已将write 权限授予node_modules 目录(我当前项目中的那个)的所有用户/组。 “重置 npm root 的所有者” - 没有关注你。注意 npm 可以安装和编写其他模块就好了。
-
为 NPM 根目录/文件夹(模块很好)分配适当的所有者(您自己或 TrustedInstaller),递归 - 在根目录执行此操作是为了确保一切一致。适当的所有者在不更改任何其他安全访问权限的情况下授予所有必需的权限。其他模块与特定模块/文件夹/文件的特定权限无关。
-
我遇到了类似的问题。甚至没有创建目标模块文件夹,我自己创建了它并安装了。