7 个版本
0.2.0 | 2024年5月8日 |
---|---|
0.1.0 | 2024年5月5日 |
0.0.13 | 2024年5月5日 |
#291 in 操作系统
42KB
965 行
nci
使用 Rust 和 antfu-collective/ni 启发重写
灵感来源
安装
cargo install nci
ni
npm i
在 yarn 项目中,又是这样!F**k!
ni - 使用正确的包管理器
npm i -g @antfu/ni
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"
# for Windows
# custom configuration file path in PowerShell accessible within the `$profile` path
$Env:NI_CONFIG_FILE = 'C:\to\your\config\location'
集成
asdf
您还可以通过由 CanRau 维护的第三方 asdf-plugin 安装 ni
# first add the plugin
asdf plugin add ni https://github.com/CanRau/asdf-ni.git
# then install the latest version
asdf install ni latest
# and make it globally available
asdf global ni latest
如何?
ni 假定您使用锁文件(您应该这样做)
在运行之前,它将检测您的 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
~222K SLoC