npm config set registry https://registry.npmjs.org/"不工作在Windows bat文件

我在windows 7上创建了a.bat, a.bat的内容是:

@echo off
npm config set registry https://registry.npmjs.org/

然后运行a.bat,但没有工作,我发现“set”这个词是npm和bat的特殊关键字,有什么方法来解决这个问题吗?

523934 次浏览
你不应该使用.bat文件更改npm注册表。 相反,尝试使用修改.npmrc文件,这是npm的配置。 修改注册表的正确命令是

npm config set registry <registry url>

你可以通过npm help config命令找到更多信息,当你运行.bat文件时,也可以通过这种方式检查权限。

您可以使用.bat进行更改,确保您之前运行了call命令,希望这有助于将来使用类似的.bat命令的任何人

call npm config set registry https://registry.npmjs.org/

在npm 3.7.3版本上

npm set registry=http://whatever/

在4.4.1版本中,您可以使用:

npm config set @myco:registry=http://reg.example.com

其中@myco是包的作用域。您可以通过以下方式安装package:

npm install @myco/my-package

裁判:https://docs.npmjs.com/misc/scope

我们也可以为多个自定义注册表url运行带有registry选项的npm install。

npm install --registry=https://registry.npmjs.org/
npm install --registry=https://custom.npm.registry.com/

也许我回答得太晚了。但是如果有人需要它,下面的工作很好,因为我已经用过很多次了。

npm config set registry=https://registry.npmjs.com/

通过执行.bat,你只是在为该会话设置配置,而不是全局的。当你打开另一个cmd提示符并运行npm install时,config将不会为此会话设置,因此将你的.bat文件修改为

@echo off
npm config set registry https://registry.npmjs.org/
@cmd.exe /K
2.name can no longer contain capital letters

不要在包裹上使用大写字母:

npm install --save uex

用这个:

npm install --save vuex
你可能无法像Gntem指出的那样,使用.bat文件更改npm注册表。 但是我理解您需要自动更改注册中心的能力。 你可以通过将你的.npmrc配置放在单独的文件中(比如npmrc_jfrog &npmrc_default),并让你的.bat文件执行复制任务

例如(Windows): 你的default_registry.bat将有

xcopy /y npmrc_default .npmrc

和你的jfrog_registry.bat将有

xcopy /y npmrc_jfrog .npmrc

注意: /y抑制提示确认您想要覆盖现有的目标文件。

这将确保所有配置属性(注册表,代理,apiKeys等。)被复制到.npmrc

你可以阅读更多关于xcopy 在这里的内容。

  1. < p > 全局设置npm注册表

    使用下面的命令修改登录用户的.npmrc配置文件

    npm config set registry <registry url>

    例子: npm config set registry https://registry.npmjs.org/ < / p >


  1. < p > 设置npm注册表范围

    作用域允许将相关的包分组在一起。作用域包将安装在node_modules文件夹下的子文件夹中。

    例子: node_modules / @my-org packagaename

    要设置范围注册表,使用:npm config set @my-org:registry http://example.reg-org.com

    使用:npm install @my-org/mypackage安装包

    无论何时你从范围@my-org安装任何包,npm都会在范围@my-org链接的注册表设置中搜索注册表url。< / p >


  1. < p > 在本地为一个项目设置npm注册表

    仅为当前项目修改npm注册表。在项目的根文件夹中创建一个文件.npmrc

    将以下内容添加到

    文件中
   registry = 'https://registry.npmjs.org/'