我觉得我需要能够将全局 npm 包单独安装到 NVM 目录中。
$ nvm install v0.11
######################################################################## 100.0%
Now using node v0.11.16
$ node-inspector
Node Inspector v0.9.2
Visit http://127.0.0.1:8080/debug?port=5858 to start debugging.
我的节点检查器停止工作了!
$ npm update -g
<bunch of updating, succeeds>
也许这会有所帮助...不!还是坏了。
叹。也许...node-inspector 不适用于 v0.11.16(在 nvm 上运行)。也许。谁知道。好吧,是时候放弃了。
$ nvm use system
Now using system version of node: v0.10.32.
$ node-inspector --version
dyld: lazy symbol binding failed: Symbol not found: _node_module_register
Referenced from: /usr/local/lib/node_modules/node-inspector/node_modules/ws/build/Release/bufferutil.node
Expected in: dynamic lookup
dyld: Symbol not found: _node_module_register
Referenced from: /usr/local/lib/node_modules/node-inspector/node_modules/ws/build/Release/bufferutil.node
Expected in: dynamic lookup
[1] 93845 trace trap node-inspector --version
好吧……好吧……妈的。
所以无论如何,目前我并不是在寻找有关如何修复的说明。我很可能会被浇灭。这里的主要问题是我应该做什么来管理这些 npm 包,这些包是命令行工具,并且编译了与特定版本相关的组件?据我了解,当我安装 nvm 并将其合并到我的系统中时,我的 shell 能够切换其$PATH
这样当我打电话时node
and npm
,它们将使用我选择的节点版本运行。
但似乎全局 npm 包被放入/usr/local/bin/
在某个地方,他们只是被困在那里,无法跟随我所做的事情nvm
-- 虽然“理论上表现良好的节点包”可能并非如此,但在实践中(对于类似node-inspector
至少)它看起来确实很容易在不使用安装它的节点执行时爆炸。
与此同时我基本上必须npm remove -g <package> && npm install -g <package>
每次我想在新的节点版本下运行该包时,我发现的任何包都会以这种方式表现奇怪nvm
.
这似乎是错误的。
这是错的吗?
而且,一个推论是,每次我调用 nvm powers 使用不同版本的 Node 来测试某个给定的 Node.js 应用程序时,我几乎应该通过将其克隆到一个全新的目录中并重新开始来实现,因为否则我可能会发现我需要rm -rf node_modules && npm install
只是为了让它发挥作用......