node.js - 安装node和npm的问题

标签 node.js macos npm yeoman nvm

我必须安装node和npm。在安装之前,我做了一些搜索,寻找安装这些东西的最佳方法。我发现的是:

  1. 安装nvm
  2. 使用nvm安装node
  3. 设置nvm alias default,以便 Node 默认可用。
  4. 安装 node 时您还将获得 npm
  5. 将全局模块目录更改为 HOME 内的某个路径,这样在使用 npm 安装全局范围包时,您不必使用 sudo。
  6. 使用 npm 作为全局模块再次安装 npm
  7. 将新的全局模块目录的 bin 添加到我们的 $PATH 环境变量

但是执行此操作后,npm 不起作用。它给出以下错误:

$ npm install -g yo

> spawn-sync@1.0.13 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

> yo@1.4.7 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! yo@1.4.7 postinstall: `yodoctor`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the yo@1.4.7 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
npm@2.14.1 /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

网络上还有一些其他相关资源:

  1. SO- NPM permission error while installing - 这里的答案建议使用 sudo 我试图避免。
  2. Yeoman issues - can not install yeoman on my mac running OS X Yosemite 10.10.1 - 我想我已经按照这里的解决方案完成了所有操作,除了这里的解决方案使用 .bashrc 并且我使用了 .bash_profile

我不知道我哪里做错了。有什么想法吗?

最佳答案

我认为最好和最简单的方法是简单地从网站下载 Node :nodejs.org 并安装它。

之后打开你的cmd,从那里转到下载nodejs文件夹并输入

npm install package-name

如果你想全局安装它,那么使用 -g 就像

npm install package-name -g

关于node.js - 安装node和npm的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32372076/

相关文章:

javascript - 错误 : getaddrinfo ENOTFOUND when sending https request Node. js 和 API

javascript - 通过 ng new 命令创建 Angular 新项目是用旧版本创建 package.json

javascript - Nodejs 重构 if 条件函数

javascript - 手动安装 mysql2 包 - 错误

node.js - Jade/Pug - 附加到类名

python - MacOS:在 High Sierra 上 brew install graph-tool

node.js - 如何使用 pm2 启动 strapi-docker?

macos - OpenCL Mac OS 从命令行编译,未找到 openclc 命令

swift - OSX Sandbox WKWebView 在内部加载本地文件

reactjs - NPM 在部署期间发现@types 无效包