Глобальная установка с npm не работает после обновления Mac OS X Mavericks
После обновления до OS X 10.9 Mavericks node больше не найден в bash. Я думаю, что я установил его с brew
некоторое время назад.
Я решил использовать установщик с сайта node.js. Все прошло отлично, и node
и npm
стали доступны в bash. Однако установка пакетов по всему миру не работает.
npm -g bin
выводит следующий путь /usr/local/bin
.
Однако после запуска npm install -g karma
и вызова ls -la /usr/local/bin
я не вижу символическую ссылку на путь, в котором находится исполняемый файл karma
.
Запуск npm -g root
возвращает /usr/local/lib/node_modules
, и после установки я вижу, что там находится модуль karma
.
Не уверен, что я еще мог проверить. Спасибо!
Ответы
Ответ 1
Проблема, похоже, произошла из-за того, что я пытался установить пакеты, которые ранее были в моей системе. Символьные ссылки не были созданы, вероятно, из-за этого. Как только я удалил пакеты и снова установил их (или пытался установить пакеты, которых у меня не было), они были добавлены в /usr/local/bin
как символические ссылки.
Ответ 2
Я обнаружил, что основной причиной всех моих проблем с установкой npm было отсутствие лицензионного соглашения Xcode.
После обновления Maverick XCode также обновился, и если вы не запустите XCode, лицензионное соглашение будет отсутствовать.
Как только я принял соглашение, установки были успешными.
Ответ 3
У меня была такая же проблема из-за того, что я не принял лицензию xcode после обновления до Mavericks. Я смог принять новую лицензию xcode, выполнив следующее:
sudo xcodebuild -license
Тем не менее, npm все еще не работал, потому что symlink не был создан, но попытка переустановки упомянутого npm уже была там. Я пошел вперед и:
brew удалить npm
а затем переустановить с помощью:
brew установить npm
и я снова работаю. Не большой поклонник переустановки, но я думаю, что необходимость принять лицензию xcode оставила вещи в зависании.
Ответ 4
У меня была та же проблема - npm не работал после обновления до mavericks. Я пробовал все вышеперечисленные шаги, но все еще застрял. В частности, когда я попытался переустановить node,
Я получил ошибку:
Предупреждение. Шаг после установки не завершился успешно.
Вы можете попробовать еще раз, используя brew postinstall node
Но запустив brew postinstall node
ответил:
Ошибка: Permission denied -/usr/local/lib/ node_modules/npm/AUTHORS
Я попытался удалить все ранее установленные модули node
sudo rm -rf /usr/local/lib/node_modules/
а затем удалить и переустановить node
и, наконец, получили как node, так и npm, как и раньше.
Ответ 5
У меня была та же проблема. После обновления maverick npm не работал, но node сам был. Я не использовал последнюю версию, так как наша команда предпочитает использовать 0,8.10.
В любом случае nvm, менеджер версий node.js, все еще работал. В этом случае я просто переустановил:
$ nvm install 0.8.21
######################################################################## 100.0%
Now using node v0.8.21
$ npm
Usage: npm <command>
where <command> is one of:
add-user, adduser, apihelp, author, bin, bugs, c, cache,
completion, config, ddp, dedupe, deprecate, docs, edit,
explore, faq, find, find-dupes, get, help, help-search,
home, i, info, init, install, isntall, issues, la, link,
list, ll, ln, login, ls, outdated, owner, pack, prefix,
prune, publish, r, rb, rebuild, remove, restart, rm, root,
run-script, s, se, search, set, show, shrinkwrap, star,
stars, start, stop, submodule, tag, test, tst, un,
uninstall, unlink, unpublish, unstar, up, update, version,
view, whoami
npm <cmd> -h quick help on <cmd>
npm -l display full usage info
npm faq commonly asked questions
npm help <term> search for help on <term>
npm help npm involved overview
В случае, когда nvm не работает, вам может понадобиться переустановить его, а также ymmv
Ответ 6
Я не уверен, был ли мой ответ слишком запоздалым или нет. Я оказался в разной ситуации, чем вы. Надеюсь, что мой опыт час назад поможет вам.
моя версия npm (npm -v) равна 1.4.28. Во-первых, я установил node.js на компьютер с учетной записью администратора. Затем я создал пользователя с правами администратора. Когда я попытался проверить версию npm, я не смог этого сделать.
Я искал в Интернете и натолкнулся на этот текст. Оригинальный плакат попросил проверить настройки пути. У меня не было node.js и npm, установленных с помощью homebrew, другого программного обеспечения, которое сделало меня головной болью два месяца назад. Я проверил, что могу запустить node. Это связано с тем, что node находится в /usr/local/bin, где все пользователи имеют права выполнять программы. Но для npm это на самом деле ссылка на.. /lib/ node_modules/npm/bin. Однако папка /usr/local/lib недоступна только для других пользователей, кроме учетной записи администратора.
I "sudo -i" и предоставил ему "chmod a + x../lib". Удивительно, что все папки внутри имеют правильное исполнение. Я подозревал, что это какая-то ошибка. Я вышел из судо и снова попробовал "npm -v". Succeed.
Надеюсь, что это поможет.
Ответ 7
Если другие решения, размещенные здесь, также не сработают для вас, вы можете попробовать подход, предложенный на этой странице GitHub. При полной переустановке в соответствии с инструкциями на странице, я наконец-то получил npm (и приложение, vs-mda-remote, чтобы быть точным).
EDIT: Это произошло после обновления от Mavericks до Yosemite.