# npm rebuild
重建一个包
# 概要
npm rebuild [<package-spec>] ...]
alias: rb
# 描述
该命令对匹配的文件夹执行 npm build
命令。这在安装新版本的节点时很有用,并且必须用新的二进制文件重新编译所有 c++ 插件。在使用 --ignore-scripts
和 --no-bin-links
安装时,显式选择要构建和/或链接的包也是有用的。
如果提供了一个或多个包规范,则只有名称和版本与其中一个规范匹配的包将被重新构建。
# global
- Default: false
- Type: Boolean
以 “global” 模式运行,会将包安装到 prefix
文件夹而不是当前工作目录中。有关行为差异的更多信息,请参阅 folders。
- 软件包被安装到
{prefix}/lib/node_modules
文件夹中,而不是当前工作目录中。 - bin 文件链接到
{prefix}/bin
- 操作说明链接到
{prefix}/share/man
# bin-links
- Default: true
- Type: Boolean
告诉 npm 为包可执行文件创建符号链接(或 Windows 上的 .cmd
连接器命令文件)。
设置为 false 使其不执行此操作。这可以用来解决某些文件系统不支持符号链接的事实,即使在表面上是 Unix 系统上也是如此。
# foreground-scripts
- Default: false
- Type: Boolean
在前台进程中运行已安装包的所有构建脚本(ie, preinstall, install, postinstall) ,将与主 npm 进程共享标准输入、输出和错误。
注意
这通常会使安装运行速度变慢,并且噪音更大,但对调试很有用。
# ignore-scripts
- Default: false
- Type: Boolean
如果为 true, npm 不会运行包中指定的 package.json
文件。
注意
如果设置了 ignore-scripts,那些显式地想要运行特定脚本的命令,比如 npm start
、npm stop
、npm restart
、npm test
和 npm run-script
仍然会运行它们想要运行的脚本,但是它们不会运行任何前脚本或后脚本。
# workspace
- Default:
- Type: String (可以设置多次)
启用在当前项目的已配置工作区的上下文中运行命令,同时通过仅运行此配置选项定义的工作区进行过滤。
workspace
配置的有效值如下:
- 工作区名称
- 工作区目录的路径
- 父工作区目录的路径(将导致选择该文件夹中的所有工作区)
为 npm init
命令设置时,可以将其设置为尚不存在的工作空间的文件夹,以创建文件夹并将其设置为项目中的全新工作空间。
此值不会导出到子进程的环境中。
# workspaces
- Default: null
- Type: null or Boolean
设置为 true 将在所有配置的工作区中运行该命令。
显式地将此设置为 false 将导致如下命令 install
完全忽略工作空间。当没有显式设置时:
- 在
node_modules
树上操作的命令 (install, update, etc.) 时,将把工作区链接到node_modules
文件夹中。做其他事情的命令 (test, exec, publish, etc.) 将在根项目上操作,除非在workspace
配置中指定了一个或多个工作空间。
此值不会导出到子进程的环境中。
# include-workspace-root
- Default: false
- Type: Boolean
当为某个命令启用工作区时,请包含工作区根目录。
当为 false 时,通过 workspace
配置指定单个工作空间,或通过 workspaces
标志指定所有工作空间,将导致 npm 仅在指定的工作空间上运行,而不是在根项目上运行。
此值不会导出到子进程的环境中。
# install-links
- Default: false
- Type: Boolean
当设置文件: 存在于项目根目录之外的协议依赖项将被打包并安装为常规依赖项,而不是创建符号链接。此选项对工作区没有影响。