通过 NVM 更改版本时,我应该如何更新节点检查器等全局包的路径?
how should I update paths to global packages like node-inspector when changing versions via NVM?
相关,不是答案:
假设我使用 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 和切换版本时,是否有更好的方法来更新任何全局安装包的路径?
But that would mean changing those values when I switch node versions, which doesn't seem in keeping with what nvm is meant to do.
你会发现一个 long discussion of this issue here,我认为它与你对 "what nvm is meant to do" 的想法相矛盾。
我个人的解决方案有两个方面:首先,不要按照 in my blog post here 所述全局安装 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。
我知道这是一个老问题。
但经过大量搜索后,我没有找到不脏的方法。
我用的是鱼。
我只需要在 $PATH
中添加这种路径
/home/{USER}/.nvm/versions/node/{VERSION}/lib/node_modules/bin
所以我把这个放在我的 config.fish
set PATH $PATH (npm root -g)/bin
- 如果您更改节点版本。你的 $PATH 会改变,你必须为新版本安装你想要的那些包
相关,不是答案:
假设我使用 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 和切换版本时,是否有更好的方法来更新任何全局安装包的路径?
But that would mean changing those values when I switch node versions, which doesn't seem in keeping with what nvm is meant to do.
你会发现一个 long discussion of this issue here,我认为它与你对 "what nvm is meant to do" 的想法相矛盾。
我个人的解决方案有两个方面:首先,不要按照 in my blog post here 所述全局安装 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。
我知道这是一个老问题。 但经过大量搜索后,我没有找到不脏的方法。
我用的是鱼。 我只需要在 $PATH
中添加这种路径/home/{USER}/.nvm/versions/node/{VERSION}/lib/node_modules/bin
所以我把这个放在我的 config.fish
set PATH $PATH (npm root -g)/bin
- 如果您更改节点版本。你的 $PATH 会改变,你必须为新版本安装你想要的那些包