npx 如何使用淘宝镜像

小夜勃
  • 221

根据淘宝镜像上的说明, 已经将

alias cnpm="npm --registry=https://registry.npm.taobao.org \
--cache=$HOME/.npm/.cache/cnpm \
--disturl=https://npm.taobao.org/dist \
--userconfig=$HOME/.cnpmrc"

这段添加至.zshrc中, 分别查看npm config listcnpm config list均能查看到各自的信息:

; cli configs
; npm
metrics-registry = "https://registry.npmjs.org/"
scope = ""
user-agent = "npm/6.12.0 node/v10.15.3 darwin x64"
; cli configs
; cnpm
cache = "/Users/xxx/.npm/.cache/cnpm"
disturl = "https://npm.taobao.org/dist"
metrics-registry = "https://registry.npm.taobao.org/"
registry = "https://registry.npm.taobao.org/"
scope = ""
user-agent = "npm/6.12.0 node/v10.15.3 darwin x64"
userconfig = "/Users/xxx/.cnpmrc"

目前存在的问题是, 如果使用npx命令安装库, 例如npx create-react-app my-app使用的registry还是原始的 https://registry.npmjs.org/ 这个源, 网上谷歌了一下似乎没有相关的例如, 可以使用自定义的.cnpmrc或者--registry来设置源

唯一的一个办法似乎还是在原始的.npmrc上强行修改registry, 本人不是特别喜欢这种做法, 请问有其余的相关做法可以使npx从自定义的源那里拉取依赖么?

多谢

回复
阅读 5.9k
2 个回答
✓ 已被采纳

npx 使用 npm 的 registry,目前无法单独为 npx 指定 registry。

但是 npm 支持通过环境变量临时指定registry

所以:

alias cnpx='NPM_CONFIG_REGISTRY=https://registry.npm.taobao.org/ npx'

查了一下,npx 目前是没有 --registry 参数的,具体讨论可以查看https://github.com/zkat/npx/issues/133

还是需要修改 .npmrc 文件来解决 registry 定义问题。
不过可以通过 nrm 来快速切换 registry

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏