Управление глобальными пакетами npm при использовании nvm
Я чувствую, что мне нужно иметь возможность устанавливать глобальные пакеты 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 и включаю его в свою систему, моя оболочка может переключать его$PATH
так что когда я звонюnode
а такжеnpm
, они будут работать, используя выбранную мной версию узла.
Но похоже, что глобальные пакеты npm помещаются в/usr/local/bin/
где-то, и они просто застряли там и стали неспособны следовать тому, что я делаю сnvm
- Хотя это может быть не так для «теоретически хорошо себя зарекомендовавшего себя узла», на практике (для чего-то вродеnode-inspector
по крайней мере) похоже, что он может взорваться от радости, когда не выполняется с использованием узла, который его установил.
Тем временем я должен в основномnpm remove -g <package> && npm install -g <package>
любой пакет, который я нахожу, ведет себя странным образом, каждый раз, когда я хочу запустить этот пакет под новой версией узла, используяnvm
.
Это кажется неправильным.
Это неправильно?
И следствием этого будет то, что каждый раз, когда я вызываю nvm powers для тестирования какого-либо данного приложения node.js с другой версией узла, я должен делать это, клонируя его в совершенно новый каталог и начиная заново, потому что в противном случае Я, наверное, узнаю, что мне нужно будетrm -rf node_modules && npm install
просто чтобы заставить его работать вообще ...