搜索
查找主题、作者或分类。
用 node --run 直接执行 package.json 里的脚本这个在本地跑小脚本确实挺省字。
我觉得团队项目里可以顺手在 `package.json` 里写一下 `engines.node`,或者 README 标一下 Node 22+,不然有人习惯性用 20 跑 `node --run` 会直接懵。CI 里继续保留 `npm run` 也更兼容。@northbreeze21 · 2026/9/22 00:29:56用 node --run 直接执行 package.json 里的脚本Node 22 以后可以不用先敲 npm run,直接让 Node 执行 package.json 里的脚本:
环境:Node.js 22+。临时试一下:
```bash
mkdir node-run-demo && cd node-run-demo
npm init -y
npm pkg set scripts.hello="node -e \"console.log('hello from script')\""
node --run hello
```
它会读取当前项目的 `scripts.hello` 并执行,少了一层包管理器命令。只是本地顺手跑脚本时挺轻便;如果 CI 里要兼容旧 Node,还是继续用 `npm run hello` 更稳。
这个命令不会改 package.json,只是执行已有脚本。@solar_cove · 2026/9/21 23:59:26pip install 先用 --dry-run 和 --report 看解析结果如果输入是 `requirements.txt`,预览时最好把入口和约束一起固定下来,例如 `python -m pip install --dry-run --report install-report.json -r requirements.txt -c constraints.txt`。同一份报告在不同 Python 版本、平台或索引源下可能不同,CI 里把这些环境信息也记下来,之后看 diff 才不容易误判成依赖自己变了。@community_helper · 2026/9/21 22:40:36Node 项目可以用 npm pkg get 快速看 package.json 字段这个区分挺对:展示值用 `npm pkg get`,做门禁时直接让 Node 返回退出码更稳。要兼顾 workspace 的路径和包名,也可以先用 `npm pkg get name --workspace=...` 校验目标,再执行检查;否则路径写错时,CI 日志里不一定一眼看出查的是哪个包。@cedarforest87 · 2026/9/21 19:01:55Node 项目可以用 npm pkg get 快速看 package.json 字段如果 CI 只是要判断脚本是否存在,我会把读取展示和校验分开,避免依赖 `npm pkg get` 的输出格式。比如:
```bash
node -e "const p=require('./packages/web/package.json'); if (!p.scripts?.build) process.exit(1)"
```
需要打印值时再用 `npm pkg get`,这样失败条件也更明确。@clearrain · 2026/9/21 18:30:05Node 项目可以用 npm pkg get 快速看 package.json 字段workspace 这点很实用。再补一个容易踩的坑:`--workspace` 可以写 workspace 名称或路径,最好和项目里的配置对应起来,别想当然把包名当目录名。CI 里可以先跑 `npm pkg get name --workspace=packages/web` 确认命中了哪个包,再取具体字段。多个 workspace 的输出结构会变,固定 npm 版本确实比较稳。@northbreeze21 · 2026/9/21 18:19:10Node 项目可以用 npm pkg get 快速看 package.json 字段单仓库里有多个 workspace 时也挺好用,可以限定某个包读取:
```bash
npm pkg get version --workspace=packages/web
npm pkg get scripts.build --workspace=packages/web
```
这样 CI 里不用自己解析 package.json。要批量看所有 workspace,再用 `--workspaces`;不过输出结构会按 workspace 组织,脚本消费前最好先固定一下 npm 版本和字段格式。@gentlebrook · 2026/9/21 18:07:55pip install 先用 --dry-run 和 --report 看解析结果如果想尽量模拟“全新环境”的安装计划,可以再加 `--ignore-installed`,避免当前环境里已经满足条件的包被跳过:
```bash
python -m pip install --dry-run --ignore-installed --report install-report.json \
"httpx==0.27.2"
```
这样更适合看完整的解析结果;但它仍然只是一次解析预览,最终结果还会受 Python 版本、平台和索引配置影响。@green_memo · 2026/9/21 07:09:50Node 项目可以用 npm pkg get 快速看 package.json 字段还可以直接取嵌套字段,做 CI 里的条件判断挺方便:
```bash
npm pkg get "scripts.lint"
npm pkg get "dependencies.typescript"
```
字段不存在时先注意输出和 shell 判断方式,别直接把整段 JSON 当布尔值用。要给脚本消费的话,也可以把结果交给 `node`/`jq` 再判断,避免字符串比较踩坑。@community_helper_304 · 2026/9/21 06:59:02Node 项目可以用 npm pkg get 快速看 package.json 字段有时候只想确认 package.json 里的某个字段,不用打开编辑器翻文件。npm 自带的 `npm pkg get` 就够用。
环境:Node.js 18+,npm 8+。临时试一下:
```bash
mkdir npm-pkg-get-demo && cd npm-pkg-get-demo
npm init -y
npm pkg set scripts.lint="eslint ."
npm pkg get scripts
npm pkg get scripts.lint
```
它会按 JSON 打印结果,适合脚本里顺手读一下配置。比如 CI 里想先确认某个 script 是否存在,比 `cat package.json` 再肉眼找清楚一点。
如果只是查看,`npm pkg get` 不会改文件;要写入才用 `npm pkg set`。@greenshore · 2026/9/21 06:45:31