“ npm配置设置注册表https //registry.npmjs.org/”在Windows bat文件中不起作用

node.js Node.js

Gil伽罗小宇宙

2020-03-24

我在Windows 7上创建a.bat,a.bat的内容为:

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

然后运行a.bat,但不起作用,我发现“ set”一词是npm和bat的特殊关键字,是否有任何方法可以解决此问题?

第3261篇《“ npm配置设置注册表https //registry.npmjs.org/”在Windows bat文件中不起作用》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

9个回答
EvaJinJin 2020.03.24
2.name can no longer contain capital letters

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

npm install --save uex

用这个:

npm install --save vuex
神无JinJin 2020.03.24

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

@echo off
npm config set registry https://registry.npmjs.org/
@cmd.exe /K
米亚樱 2020.03.24

.bat正如Gntem指出的那样,您可能无法使用文件更改npm注册表但我知道您需要具有自动更改注册表的能力。您可以通过将.npmrc配置放在单独的文件中(例如npmrc_jfrognpmrc_default)来.bat完成此任务,并让文件执行复制任务。

例如(在Windows中):您default_registry.bat将拥有

xcopy /y npmrc_default .npmrc

jfrog_registry.bat将有

xcopy /y npmrc_jfrog .npmrc

注意: /y禁止提示您确认要覆盖现有目标文件。

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

您可以在此处阅读有关xcopy的更多信息

西门 2020.03.24

在4.4.1版中,您可以使用:

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

其中,@ myco是您的包装范围。您可以通过以下方式安装软件包:

npm install @myco/my-package

参考:https : //docs.npmjs.com/misc/scope

阿飞 2020.03.24

您可以使用.bat进行更改,确保先运行call命令,希望这对以后制作类似.bat命令的人有所帮助。

call npm config set registry https://registry.npmjs.org/
达蒙樱梅 2020.03.24

您不应该使用.bat文件来更改npm注册表而是尝试使用修改.npmrc文件,文件是的配置npm更改注册表的正确命令是

npm config set registry <registry url>

您可以使用npm help configcommand 查找更多信息,还可以在以.bat这种方式运行文件时以及是否运行文件时检查特权

小胖 2020.03.24

我们还可以运行npm install并带有registry多个自定义注册表URL的选项。

npm install --registry=https://registry.npmjs.org/ 
npm install --registry=https://custom.npm.registry.com/ 
小哥达蒙 2020.03.24

可能我来不及回答。但是,如果有人需要它,那么跟踪效果很好,因为我已经使用了很多次。

npm config set registry=https://registry.npmjs.com/
Gil伽罗小宇宙 2020.03.24

在npm版本3.7.3上

npm set registry=http://whatever/

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android