Node.js (简体中文)

From ArchWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
翻译状态:本文是 Node.js翻译。上次翻译日期:2020-05-08。如果英文版本有所更改,则您可以帮助同步翻译。

Node.js 是一个 javascript 运行环境,并附带有功能丰富的库.使用 Google's V8 引擎 在浏览器外执行代码. 由于其是事件驱动、非阻塞 I/O 模型,它适合于实时 web 应用.

安装

安装 软件包 nodejs。还可以安装长期支持版本:

多版本需求

如果需要使用多个 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 的使用信息您也许需要查询下列额外资源。

中文社区