0

相关,不是答案:使用 nvm 时管理全局 npm 包

假设我使用 NVM 安装 Node 0.12.4。现在我想node-inspector从命令行安装和使用它:

npm install -g node-inspector

Node-inspector将被放置在:/Users/[xxx]/.nvm/versions/node/v0.12.4/lib/node_modules/node-inspector/node_modules/v8-profiler

好的没问题。但是现在当我跑步时,which node-inspector我没有得到任何结果。显然,我需要在/usr/local/bin(我认为)中添加别名或将该路径添加到我的$PATH. 但这意味着在我切换节点版本时更改这些值,这似乎与 nvm 的意图不符。

使用 nvm 和切换版本时,是否有更好的方法来更新任何全局安装包的路径?

4

2 回答 2

1

但这意味着在我切换节点版本时更改这些值,这似乎与 nvm 的意图不符。

您会在此处找到对这个问题的长时间讨论,我将其解释为与您对“nvm 的用途”的想法相矛盾。

我的个人解决方案有两个方面:首先,不要像我的博客文章中所述在全局安装 npm 模块。我发现 95% 的推荐全局安装的 npm 库在使用由 nvm 安装并通过项目目录中的.nvmrc文件和项目目录中的项目特定 npm 模块绑定到项目的节点版本时效果更好node_modules。真的,对于 bower、gulp、grunt、stylus、less、browserify、uglify 等,本地安装和体面的 PATH 管理工作得很好。

对于真正不太具体项目的东西,我只是在其中安装一个共享节点~/shared_node.js并在那里安装东西,然后~/shared_node.js/node_modules/.bin永久放在我的 PATH 上并称之为好。目前我只有一些东西,比如 html2jade、keybase 和 node-inspector。

于 2015-06-05T04:19:42.090 回答
0

我知道这是一个老问题。但经过太多搜索后,我没有找到非肮脏的方法。

我在用鱼。我只需要在 $PATH 中添加这种路径

/home/{USER}/.nvm/versions/node/{VERSION}/lib/node_modules/bin

所以我把这个放在我的config.fish

set PATH $PATH (npm root -g)/bin
  • 如果您更改节点版本。你的 $PATH 会改变,你必须安装那些你想要的新版本的包
于 2020-12-25T05:12:12.403 回答