如何在 Microsoft Azure 网站上安装 npm 作用域模块
How to install a npm scoped module on Microsoft Azure Web Sites
我公司有私有范围 npm
模块,即以 @mycompanyscope/mymodule
开头的模块。默认情况下,npm 中的所有作用域模块都是私有的,因此您必须先登录才能发布
npm login
Username:myusername
Password:**********
npm publish
作用域模块必须有 属性 name
,作用域在 package.json
:
{
"name": "@mycompanyscope/mymodule"
}
并且必须删除 private
密钥。
登录后,您会在 $HOME
文件夹的 .npmrc
文件中得到一个 token
,就像
//registry.npmjs.org/:_authToken=00000000-0000-0000-0000-000000000000
scope=mycompanyscope
至此,本机中的 publish
和 install
一切都已正确设置。如果您向其他用户授予访问权限,他们可以在他们的机器上执行 npm login
并从那里获得一个令牌。
问题出在服务器端,具体取决于您的服务器。在 Heroku 上,它应该按照 here.
的解释工作
我的服务器环境是 Azure 网站。根据一些文档,您应该在部署阶段将 .npmrc
文件上传到 Azure,如果我有办法为该机器获取令牌,那就太棒了。
如果我尝试登录 Kudu PowerShell
,事实是我无法登录,登录过程在某个时候挂起:
Kudu Remote Execution Console
Type 'exit' then hit 'enter' to get a new powershell process.
Type 'cls' to clear the console
PS D:\home> npm login
Username: mycompany
Password: *********
Email: (this IS public) npm@mycompany.com
所以我无法从这台机器生成任何令牌。那么我如何在此处授予访问权限,让私有范围模块的 npm install
正确地变为 运行?
[更新]
感谢下面的答案,我能够将 npm 作用域模块 (@ mycompanyscope/myModule) 部署到 Azure 网站,在项目根文件夹中创建 .npmrc
文件(package.json
所在的位置)然后在 npm login
之后写入获得的令牌,并将 registry
添加到 npmjs.org
注册表:
//registry.npmjs.org/:_authToken=00000000-0000-0000-0000-000000000000
scope=mycompanyscope
@mycompanyscope:registry=https://registry.npmjs.org/
您是否尝试过 npm login
您本地计算机上的私人 npm 注册表,以在您的 node.js 应用程序中生成 .npmrc
文件,然后使用您的应用程序部署到 Azure Web App .
任何更新或进一步的问题,请随时告诉我。
我公司有私有范围 npm
模块,即以 @mycompanyscope/mymodule
开头的模块。默认情况下,npm 中的所有作用域模块都是私有的,因此您必须先登录才能发布
npm login
Username:myusername
Password:**********
npm publish
作用域模块必须有 属性 name
,作用域在 package.json
:
{
"name": "@mycompanyscope/mymodule"
}
并且必须删除 private
密钥。
登录后,您会在 $HOME
文件夹的 .npmrc
文件中得到一个 token
,就像
//registry.npmjs.org/:_authToken=00000000-0000-0000-0000-000000000000
scope=mycompanyscope
至此,本机中的 publish
和 install
一切都已正确设置。如果您向其他用户授予访问权限,他们可以在他们的机器上执行 npm login
并从那里获得一个令牌。
问题出在服务器端,具体取决于您的服务器。在 Heroku 上,它应该按照 here.
的解释工作我的服务器环境是 Azure 网站。根据一些文档,您应该在部署阶段将 .npmrc
文件上传到 Azure,如果我有办法为该机器获取令牌,那就太棒了。
如果我尝试登录 Kudu PowerShell
,事实是我无法登录,登录过程在某个时候挂起:
Kudu Remote Execution Console
Type 'exit' then hit 'enter' to get a new powershell process.
Type 'cls' to clear the console
PS D:\home> npm login
Username: mycompany
Password: *********
Email: (this IS public) npm@mycompany.com
所以我无法从这台机器生成任何令牌。那么我如何在此处授予访问权限,让私有范围模块的 npm install
正确地变为 运行?
[更新]
感谢下面的答案,我能够将 npm 作用域模块 (@ mycompanyscope/myModule) 部署到 Azure 网站,在项目根文件夹中创建 .npmrc
文件(package.json
所在的位置)然后在 npm login
之后写入获得的令牌,并将 registry
添加到 npmjs.org
注册表:
//registry.npmjs.org/:_authToken=00000000-0000-0000-0000-000000000000
scope=mycompanyscope
@mycompanyscope:registry=https://registry.npmjs.org/
您是否尝试过 npm login
您本地计算机上的私人 npm 注册表,以在您的 node.js 应用程序中生成 .npmrc
文件,然后使用您的应用程序部署到 Azure Web App .
任何更新或进一步的问题,请随时告诉我。