Skip to main content

4 posts tagged with "nodejs"

View All Tags

· One min read
MengFei

https://github.com/nodesource/distributions

常用

Debian and Ubuntu based distributions

# Using Ubuntu
curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -fsSL https://deb.nodesource.com/setup_14.x | bash -
apt-get install -y nodejs

Enterprise Linux based distributions

Run on RHEL, CentOS, CloudLinux, Amazon Linux or Fedora:

# As root
curl -fsSL https://rpm.nodesource.com/setup_14.x | bash -

# No root privileges
curl -fsSL https://rpm.nodesource.com/setup_14.x | sudo bash -

· 2 min read
MengFei

NPM: https://www.npmjs.com/package/ynrm Github: https://github.com/mengfei0053/ynrm.git

Fork了狼叔yrm做了一些修改, 可以同时更改yarn 和npm 当前用户的源。

Ynrm 和. Nrm/Yrm

  • 用 typescript 重写了一下
  • 将npm从依赖中移除, 通过npm root -g,获取本机的npm
  • 使用axios替换request

安装

$ npm install -g ynrm

Example

ynrm ls # 查看源

* npm ----- https://registry.npmjs.org/
cnpm ---- http://r.cnpmjs.org/
taobao -- https://registry.npm.taobao.org/
nj ------ https://registry.nodejitsu.com/
rednpm -- http://registry.mirror.cqupt.edu.cn
skimdb -- https://skimdb.npmjs.com/registry
yarn ---- https://registry.yarnpkg.com

# ynrm will set up both npm registy and yarn registry
# switch registry to taobao registry
ynrm use cnpm # 使用源

YARN Registry has been set to: https://registry.npm.taobao.org/

NPM Registry has been set to: https://registry.npm.taobao.org/

ynrm add custom_registry https://custom_registry.xx.com # 添加仓库源
ynrm del custom_registry # 删除仓库源
ynrm test # 测试仓库源链接速度

Usage

Usage: ynrm [options] [command]

Commands:

ls List all the registries
use <registry> Change registry to registry
add <registry> <url> [home] Add one custom registry
del <registry> Delete one custom registry
home <registry> [browser] Open the homepage of registry with optional browser
test [registry] Show the response time for one or all registries
help Print this help

Options:

-h, --help output usage information
-V, --version output the version number

默认可选仓库源

· 4 min read
MengFei

当 Node.js 进程收到信号时,则将触发信号事件。 有关标准 POSIX 信号名称(例如 'SIGINT'、'SIGHUP' 等)的列表,请参阅 signal(7)

信号在 Worker 线程上不可用。

  • 'SIGINT' 所有平台都支持来自终端的 'SIGINT',通常可以使用 Ctrl+C 生成(但是这是可配置的)。 当启用终端原始模式并使用 Ctrl+C 时不会生成它。

  • 'SIGKILL' 不能安装监听器,它会无条件地终止所有平台上的 Node.js。

  • 发送 SIGINT、SIGTERM、和 SIGKILL 会导致目标进程无条件的终止,之后子进程会报告进程被信号终止。

  • 'SIGUSR1' 由 Node.js 预留以启动调试器。 可以安装监听器,但这样做可能会干扰调试器。

  • 'SIGTERM' 和 'SIGINT' 在非 Windows 平台上具有默认的句柄,其在使用代码 128 + signal number 退出之前重置终端模式。 如果这些信号之一安装了监听器,则其默认行为将被删除(Node.js 将不再退出)。

  • 'SIGPIPE' 默认情况下忽略。 它可以安装监听器。

  • 'SIGHUP' 在 Windows 上是在关闭控制台窗口时生成,在其他平台上是在各种类似条件下生成。 参见 signal(7)。 它可以安装监听器,但是 Node.js 将在大约 10 秒后被 Windows 无条件地终止。 在非 Windows 平台上,SIGHUP 的默认行为是终止 Node.js,但一旦安装了监听器,则其默认行为将被删除。

  • 'SIGTERM' Windows 上不支持,可以监听。

  • 'SIGBREAK' 在 Windows 上,当按下 Ctrl+Break 时会发送。 在非 Windows 平台上,它可以被监听,但无法发送或生成它。

  • 'SIGWINCH' 当调整控制台大小时会发送。 在 Windows 上,这只会发生在当光标移动时写入控制台,或者当在原始模式下使用可读的终端时。

  • 'SIGSTOP' 不能安装监听器。

  • 'SIGBUS'、'SIGFPE'、'SIGSEGV' 和 'SIGILL',当没有使用 kill(2) 人为引发时,本质上会使进程处于调用 JS 监听器不安全的状态。 这样做可能会导致进程停止响应。

  • 0 可以发送来测试进程是否存在,如果进程存在则没影响,如果进程不存在则抛出错误。 Windows 不支持信号,因此没有等价的使用信号来终止,但 Node.js 提供了一些对 process.kill() 和 subprocess.kill() 的模拟:

  • 发送信号 0 可以作为独立于平台的方式来测试进程是否存在。

· One min read
MengFei

npm & yarn

yarn info <pkg>  #查看远端仓库 pkg 包信息, 后面可跟 package.json 中字段查看具体信息
yarn info <pkg> version # 当前版本
yarn info <pkg> versions # 版本列表
yarn info <pkg> engines # 依赖的 node版本,或npm 版本, yarn 版本等等
yarn info <pkg> dependencies
yarn info <pkg> devDependencies
yarn info <pkg> peerDependencies
yarn why <pkg> # 查看项目有没有包 pkg, 会列出包版本和被谁依赖
yarn