我在Windows 7上创建了一个名为a.bat的文件,其内容如下:
@echo off
npm config set registry https://registry.npmjs.org/
我运行了a.bat文件,但是没有效果。我发现“set”这个词是npm和bat的特殊关键字,有没有解决这个问题的方法?
我在Windows 7上创建了一个名为a.bat的文件,其内容如下:
@echo off
npm config set registry https://registry.npmjs.org/
我运行了a.bat文件,但是没有效果。我发现“set”这个词是npm和bat的特殊关键字,有没有解决这个问题的方法?
你不应该使用 .bat
文件来更改npm注册表。
而是尝试修改 .npmrc
文件,它是 npm
的配置文件.
更改注册表的正确命令是
npm config set registry <registry url>
你可以使用 npm help config
命令查找更多相关信息,同时也要注意当你以这种方式运行 .bat
文件时的特殊权限。
npm config set registry=<registry url>
来设置注册表网址。 - L1fescapeconfig
部分不是必需的,只需运行npm get registry
以查看当前设置,然后运行npm set registry https://registry.npmjs.org/
将其设置回默认值即可。请注意,不要更改原始含义。 - AlecRustregistry
选项运行npm install,以便可以使用多个自定义注册表URL。npm install --registry=https://registry.npmjs.org/
npm install --registry=https://custom.npm.registry.com/
npm install
会导致很多问题,这个方法为我节省了几个小时。 - Mahmut Ccall npm config set registry https://registry.npmjs.org/
在版本4.4.1中,您可以使用:
npm config set @myco:registry=http://reg.example.com
其中 @myco 是你的包命名空间。你可以通过以下方式安装该包:
npm install @myco/my-package
全局设置npm注册表
使用以下命令修改已登录用户的.npmrc配置文件。
npm config set registry <registry url>
示例:npm config set registry https://registry.npmjs.org/
设置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。
为项目本地设置npm注册表
要仅修改当前项目的npm注册表,请在项目的根目录中创建一个名为.npmrc
的文件。
将以下内容添加到文件中
registry = 'https://registry.npmjs.org/'
npm config set registry https://...
命令,但是当我执行 npm config get registry
命令时,它返回的是 http://...
。问题在于有人提交了 .nmprc
文件,并将其中的 registry 设置为了 http://...
,这个设置优先于全局配置。在阅读了您的帖子后,我花了大约 10 分钟才明白发生了什么 :) - Ruslan我可能回答晚了。但如果有人需要的话,以下方法很好用,因为我已经使用了很多次。
npm config set registry=https://registry.npmjs.com/
npm set registry=http://whatever/
可以设置registry的地址。npm install
时,这个配置不会为该会话设置,所以请修改你的 .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
可以抑制提示,以确认您是否要覆盖现有的目标文件。
这将确保所有配置属性(注册表、代理、API密钥等)都被复制到 .npmrc
中。
您可以在此处阅读更多关于xcopy的信息。
.com
版本的注册表,即https://registry.npmjs.com/
而不是https://registry.npmjs.org/
。 - infl3xnpm config get registry
可以获取注册表(registry)的 URL。请注意,翻译时不要改变原意,并尽量让语言通俗易懂。 - Sridharhttps
更改为http
。 - kayleeFrye_onDeck