17 个版本
0.0.19 | 2024 年 3 月 14 日 |
---|---|
0.0.18 | 2024 年 3 月 8 日 |
0.0.17 | 2024 年 2 月 27 日 |
0.0.16 | 2024 年 1 月 31 日 |
0.0.14 | 2023 年 12 月 29 日 |
190 在 操作系统
每月 843 次下载
72KB
2K SLoC
ni
ni - 使用正确的包管理器
使用 Rust 语言重写,无运行时,无依赖,可安装和使用,参考 @antfu/ni,具体用法应与 @antfu/ni 保持一致
@antfu/ni
安装
使用 Cargo (Linux/macOS/Windows)
cargo install npack
使用脚本 (macOS/Linux)
对于 bash,zsh 和 fish shell,有一个自动安装脚本。
首先确保 curl 和 unzip 已经安装在你的操作系统上。然后执行
curl https://ni.zhazhazhu.me/install.sh | bash
ni
- 安装
ni
# npm install
# yarn install
# pnpm install
# bun install
ni vite
# npm i vite
# yarn add vite
# pnpm add vite
# bun add vite
ni @types/node -D
# npm i @types/node -D
# yarn add @types/node -D
# pnpm add -D @types/node
# bun add -d @types/node
ni --frozen
# npm ci
# yarn install --frozen-lockfile (Yarn 1)
# yarn install --immutable (Yarn Berry)
# pnpm install --frozen-lockfile
# bun install --no-save
ni -g eslint
# npm i -g eslint
# yarn global add eslint (Yarn 1)
# pnpm add -g eslint
# bun add -g eslint
# this uses default agent, regardless your current working directory
nr
- 运行
nr dev --port=3000
# npm run dev -- --port=3000
# yarn run dev --port=3000
# pnpm run dev --port=3000
# bun run dev --port=3000
nr
# interactively select the script to run
# supports https://npmjs.net.cn/package/npm-scripts-info convention
nr -
# rerun the last command
nlx
- 下载 & 执行
nlx vitest
# npx vitest
# yarn dlx vitest
# pnpm dlx vitest
# bunx vitest
nu
- 升级
nu
# npm upgrade
# yarn upgrade (Yarn 1)
# yarn up (Yarn Berry)
# pnpm update
# bun update
nu -i
# (not available for npm & bun)
# yarn upgrade-interactive (Yarn 1)
# yarn up -i (Yarn Berry)
# pnpm update -i
nun
- 卸载
nun webpack
# npm uninstall webpack
# yarn remove webpack
# pnpm remove webpack
# bun remove webpack
nun -g silent
# npm uninstall -g silent
# yarn global remove silent
# pnpm remove -g silent
# bun remove -g silent
nci
- 清洁安装
nci
# npm ci
# yarn install --frozen-lockfile
# pnpm install --frozen-lockfile
# bun install --no-save
如果相应的节点管理器不存在,此命令将在安装过程中全局安装它。
na
- 代理别名
na
# npm
# yarn
# pnpm
# bun
na run foo
# npm run foo
# yarn run foo
# pnpm run foo
# bun run foo
全局标志
# ? | Print the command execution depends on the agent
ni vite ?
# -C | Change directory before running the command
ni -C packages/foo vite
nr -C playground dev
# -v, --version | Show version number
ni -v
# -h, --help | Show help
ni -h
配置
; ~/.nirc
; fallback when no lock found
defaultAgent=npm # default "prompt"
; for global installs
globalAgent=npm
# ~/.bashrc
# custom configuration file path
export NI_CONFIG_FILE="$HOME/.config/ni/nirc"
如何使用?
ni 假定您使用 lockfiles(您应该这样做)
在运行之前,它将检测您的 yarn.lock
/ pnpm-lock.yaml
/ package-lock.json
/ bun.lockb
,以了解当前包管理器(如果指定,则参考 packages.json 中的 packageManager 字段),并运行相应的命令。
故障排除
与 PowerShell 冲突
PowerShell 内置了一个别名 ni
,用于 New-Item
cmdlet。为了在当前 PowerShell 会话中删除别名以使用此包,请使用以下命令
'Remove-Item Alias:ni -Force -ErrorAction Ignore'
如果您想持久化更改,可以将它们添加到 PowerShell 配置文件中。配置文件路径可以通过 $profile
变量访问。ps1 配置文件通常可以在以下位置找到
- PowerShell 5 (Windows PowerShell):
C:\Users\USERNAME\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
- PowerShell 7:
C:\Users\USERNAME\Documents\PowerShell\Microsoft.PowerShell_profile.ps1
- VSCode:
C:\Users\USERNAME\Documents\PowerShell\Microsoft.VSCode_profile.ps1
您可以通过将上述命令添加到您的配置文件中来使用以下脚本在shell启动时删除别名
if (-not (Test-Path $profile)) {
New-Item -ItemType File -Path (Split-Path $profile) -Force -Name (Split-Path $profile -Leaf)
}
$profileEntry = 'Remove-Item Alias:ni -Force -ErrorAction Ignore'
$profileContent = Get-Content $profile
if ($profileContent -notcontains $profileEntry) {
("`n" + $profileEntry) | Out-File $profile -Append -Force -Encoding UTF8
}
nx
和 nix
现在不再可用
我们将 nx
/nix
重命名为 nlx
以避免与其他现有工具(例如 - nx 和 nix)冲突。您始终可以在shell配置文件(如 .zshrc
、.bashrc
等)中重新设置它们的别名。
alias nx="nlx"
# or
alias nix="nlx"
依赖项
~6–19MB
~231K SLoC