【问题标题】:when using NVM, unable to install npm packages globally使用 NVM 时,无法全局安装 npm 包
【发布时间】:2017-08-28 14:38:12
【问题描述】:

我在windows中使用NVM,它基本上通过更改它在“C:\program files\nodejs”中创建的快捷方式在nodeJs的版本之间切换

当我这样做时

nvm 使用 7.0

然后快捷方式更新为“c:\users\me\AppData\Roaming\nvm\v7.0”

如果我使用 4.6,那么 "c:\users\me\AppData\Roaming\nvm\v4.6"

因为实际的节点文件位于 NVM 文件夹中...

“C:\program files\nodejs”中的所有文件都被锁定,因为这个,当我运行时

npm install -g 包

,作为安装过程的一部分,它会尝试重命名一些文件/目录,但它无法重命名,但它失败了......

-info 使用 npm@3.10.8 -info 使用 node@v7.0.0 -error 错误:EPERM:不允许操作,重命名 'C:\Program Files\nodejs\node_modules\@angular\cli' -> 'C:\Program Files\nodejs\node_modules\@angular\.cli.DELETE' -error 错误 -moveAway 错误(C:\Users\me\AppData\Roaming\nvm\v7.0.0\node_modules\npm\lib\install\action\finalize.js:38:5) -destStatted 错误(C:\Users\me\AppData\Roaming\nvm\v7.0.0\node_modules\npm\lib\install\action\finalize.js:27:7) - FSReqWrap.oncomplete 错误 (fs.js:111:15) -错误 -error 错误:EPERM:不允许操作,重命名 'C:\Program Files\nodejs\node_modules\@angular\cli' -> 'C:\Program Files\nodejs\node_modules\@angular\.cli.DELETE' -error 请尝试以 root/管理员身份再次运行此命令。 -verbose exit [ -4048, true ]

在 NVM 之前,我已经能够在全球范围内安装软件包,但现在我不能。 我尝试解锁“程序文件\nodejs\node_modules”没有错误,但目录仍然锁定。

解锁可能不是正确的方法,因为每当我们切换到其他节点版本时,它都会再次被锁定。

我没有管理员权限,但我想这应该不是问题......

【问题讨论】:

    标签: node.js npm npm-install nvm


    【解决方案1】:

    我认为问题完全在于管理员权限。

    作为一种解决方法,您可以在项目中安装包,并在./node_modules/.bin/ 文件夹中访问它的二进制文件。

    【讨论】:

    • 该解决方案很有帮助,谢谢。但我想在我的项目目录中运行这些命令,而不是在 .bin 文件夹中。例如,如果我使用 ng new my-app,那么它会在 .bin 中创建文件和文件夹
    • 作为另一种解决方法 - 将您的 .bin 文件夹添加到 PATH 变量:)
    • 在 git bash 中,创建了一个别名 ng='/c/Projects/sample/node_modules/.bin/ng.cmd'
    猜你喜欢
    • 2018-05-25
    • 2020-10-23
    • 1970-01-01
    • 1970-01-01
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-22
    相关资源
    最近更新 更多