Мне нужно установить узел и npm. Перед установкой я немного искал лучший способ установить эти вещи. То, что я нашел:Проблемы при установке узла и npm
- Установите
nvm
- Установка
node
с помощьюnvm
- Установите
nvm alias default
так, чтоnode
будет доступен по умолчанию. - Вы также получите
npm
при установкеnode
. - Измените каталог глобальных модулей на некоторый путь внутри вашего
HOME
, так что при установке пакетов с глобальными областями с использованиемnpm
вам не нужно использовать sudo. - Установить
npm
с использованиемnpm
в качестве глобального модуля. - Добавить новый глобальный каталог модуля
bin
нашей переменной$PATH
среды
Но после того, как делать это npm
не работает. Его подача следующее сообщение об ошибке:
$ npm install -g yo
> [email protected] postinstall /Users/aapa/.node_modules_global/lib/node_modules/yo/node_modules/cross-spawn/node_modules/spawn-sync
> node postinstall
/Users/aapa/.node_modules_global/bin/yo -> /Users/aapa/.node_modules_global/lib/node_modules/yo/lib/cli.js
> [email protected] postinstall /Users/aapa/.node_modules_global/lib/node_modules/yo
> yodoctor
sh: yodoctor: command not found
npm ERR! Darwin 14.3.0
npm ERR! argv "node" "/Users/aapa/.node_modules_global/bin/npm" "install" "-g" "yo"
npm ERR! node v0.12.7
npm ERR! npm v2.14.1
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! [email protected] postinstall: `yodoctor`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the [email protected] postinstall script 'yodoctor'.
npm ERR! This is most likely a problem with the yo package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! yodoctor
npm ERR! You can get their info via:
npm ERR! npm owner ls yo
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! /Users/aapa/npm-debug.log
Здесь все фактические команды я побежал:
#1. Install nvm
$curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.26.1/install.sh | bash
#2. Install node using nvm
$nvm install node
# This will install the latest stable version of node. Here `node` is an alias to stable
#node -> stable (-> v0.12.7) (default)
#stable -> 0.12 (-> v0.12.7) (default)
#3. Set the nvm alias default so that the node will be available by default.
$nvm alias default node
#4. You will also get npm while installing node.
$ which npm
/Users/aapa/.nvm/versions/node/v0.12.7/bin/npm
#5. Change the global modules directory to some path inside your HOME so that while installing global scoped packages using npm you don't have to use sudo.
$ npm config get prefix
/Users/aapa/.nvm/versions/node/v0.12.7
$ cd && mkdir .node_modules_global
$ npm config set prefix=$HOME/.node_modules_global
$ npm config get prefix
/Users/aapa/.node_modules_global
$ cat .npmrc
prefix=/Users/aapa/.node_modules_global
#6. Install npm again using npm as a global module.
$ npm install npm --global
/Users/aapa/.node_modules_global/bin/npm -> /Users/aapa/.node_modules_global/lib/node_modules/npm/bin/npm-cli.js
[email protected] /Users/aapa/.node_modules_global/lib/node_modules/npm
#7. Add new global module directory's `bin` to our `$PATH` environment variable
$ echo -e '\n\n#adding npm global module location to path\nexport PATH="$HOME/.node_modules_global/bin:$PATH"' >> ~/.bash_profile
$ source ~/.bash_profile
# check
$ which npm
/Users/aapa/.node_modules_global/bin/npm
Есть также некоторые другие родственные ресурсы по сети:
- SO- NPM permission error while installing - здесь ответы Предложенные использовать
sudo
, которого я стараюсь избежать. - Yeoman issues - can not install yeoman on my mac running OS X Yosemite 10.10.1 - Я думаю, что я сделал все по решению здесь, кроме решения здесь используется
.bashrc
, и я использовал.bash_profile
.
Я не уверен, где я делаю это неправильно. Есть идеи?