NVM 全局模块文件夹
Posted
技术标签:
【中文标题】NVM 全局模块文件夹【英文标题】:NVM global module folder 【发布时间】:2016-02-22 09:54:37 【问题描述】:我正在使用 NVM,我正在尝试安装全局 NPM 模块。该操作需要对我无权访问的文件夹的权限。使用常规的 node.js/npm 很容易通过 prefix
配置解决,但 NVM 明确禁止它。
在 NVM 中更改全局模块文件夹路径的正确方法是什么?
【问题讨论】:
默认情况下,nvm 不会自行安装在您的主文件夹中吗? 不,对于全局模块,它会尝试访问 /usr/local/bin/ 以创建指向可执行文件的符号链接。 在没有-g
的情况下安装它,你就有node_modules/.bin
可以使用
你试过 sudo chown +R $user $directory 吗?
【参考方案1】:
要查看您正在使用的当前节点版本的位置:
nvm which current
如果 .nvm 不在路径中,则您正在使用系统安装,类似于以下内容:
/usr/local/bin/node
切换到由 nvm 管理的版本:
nvm use 4
验证您使用的是由 nvm 管理的版本:
nvm which current
您应该会看到类似于以下内容的内容:
/Users/<your-user-name>/.nvm/versions/node/v4.2.2/bin/node
您应该只在使用系统安装时遇到全局安装权限问题。
【讨论】:
是上述解决方案仍然与当前不适用于 gitbash 或 cmd 提示符的 nvm 相关。我有一种情况,我使用 nvm 安装了 8.12.0 并删除了以前没有 nvm 安装的 8.9.2,如果我检查全局包列表它只显示 npm 并且路径是 /c/Program Files/nodejs/npm 我以前的全局包location /c/Users/Charlie/AppData/Roaming/npm/eslint 有没有办法将旧的全局文件位置映射到新安装的 npm(使用 nvm) 通过向 .npmrc 添加前缀来修复 prefix=C:\Users\Charlie\AppData\Roaming\npmnvm use node
而不是nvm use 4
。
了解export NODE_PATH=$(realpath $(dirname $(nvm which current))/../lib/node_modules)
也很有用以上是关于NVM 全局模块文件夹的主要内容,如果未能解决你的问题,请参考以下文章
windows下使用nvm-windows做nodejs版本管理