Node.js (简体中文)
Node.js 是一个 javascript 运行环境,并附带有功能丰富的库.使用 Google's V8 引擎 在浏览器外执行代码. 由于其是事件驱动、非阻塞 I/O 模型,它适合于实时 web 应用.
安装
- nodejs-lts-erbium - 12.X
- nodejs-lts-dubnium[损坏的链接:package not found] - 10.X
多版本需求
如果需要使用多个 nodejs 版本,可以使用 NVM (Node Version Manger). nvmAUR 可以很方便的安装多个版本,并在版本间快速切换。命令很简单:
将下面命令加入 shell 的启动文件:
# Set up Node Version Manager source /usr/share/nvm/init-nvm.sh
项目的 GitHub 页面包含使用文档,命令很简单:
$ nvm install 8.0 Downloading and installing node v8.0.0... [..] $ nvm use 8.0 Now using node v8.0.0 (npm v5.0.0)
使用 nvmAUR 时,可以用 pacman 的 --assume-installed nodejs=<version>
参数避免安装系统提供的版本。
Node Packaged Modules
npm 是官方的 node.js 包管理器,通过软件包 npm 进行安装。
使用 npm 管理包
安装软件包
任何包可以用以下命令安装:
$ npm install packageName
这个命令会将包安装在当前目录下 node_modules
目录内,可执行命令(如果有)安装在 node_modules/.bin
目录下.
作为系统级的全局安装使用 -g
选项:
# npm -g install packageName
默认情形下这个命令会将包安装至 /usr/lib/node_modules/npm
,需要管理员权限.
用户级别安装
作为个人用户级的安装您可以使用一个本地目录来配置 npm
。添加下列行到您的 shell 配置文件 (e.g. .bash_profile
)。
~/.profile
PATH="$HOME/.node_modules/bin:$PATH" export npm_config_prefix=~/.node_modules
不要忘记重新登录或读取新配置。
也可以在 npm install
时指定 --prefix
参数,但是不建议使用这个方式,因为需要每次安装全局软件包时都记得使用此参数。
$ npm -g install packageName --prefix ~/.node_modules
更新包
更新包只需要执行
$ npm update packageName
对于全局环境安装的包 ( -g
)
# npm update -g packageName
prefix
设置到用户可写目录。更新所有包
有时您只希望更新所有包,去掉包名将试图更新所有包。
$ npm update
或者添加 -g
标记更新全局环境安装的包
# npm update -g
删除包
删除使用 -g
标记安装的包只须:
# npm -g uninstall packageName
若删除个人用户目录下的包去掉标记执行:
$ npm uninstall packageName
列出所有包
若要显示已安装的包的树形视图执行:
$ npm -g list
仅显示顶层树:
$ npm list --depth=0
要显示需要更新的过期软件包:
$ npm outdated
使用 pacman 管理包
一些 node.js 包可以在 Arch User Repository 找到,命名为 nodejs-packageName
格式。
问题处理
node-gyp python 错误
有些使用 node-gyp
的工具不支持系统上的 Python 3,要解决这个问题,需要安装 python2并在 nvm 中设置:
$ npm config set python /usr/bin/python2
如果出现 gyp WARN EACCES user "root" does not have permission to access the ... dir,可以使用 --unsafe-perm 选项:
# npm install --unsafe-perm -g node-inspector
无法找到模块错误
从 npm 5.x.x. 开始,package-lock.json 会和 package.json 文件一起创建,如果两个文件引用了不同的版本,会出现冲突。临时解决方案是:
$ rm package-lock.json $ npm install
nmp 5.1.0 或以上版本已经解决了此问题,请参考: missing dependencies
其他资源
更多关于 nodejs 和官方包管理器 npm 的使用信息您也许需要查询下列额外资源。
- NodeJs Documentation Node 文档和教程。
- NodeJS Community
-
API Documentation 官方
npm
API 文档 - IRC channel #node.js on irc.libera.chat
中文社区
- v2ex NodeJS 节点 开发者作品发布与开发探讨
- cnodejs.org Node.js 专业中文社区