Node.js Azure上的RESTful API

时间:2017-08-06 13:02:07

标签: node.js azure azure-cloud-shell

我试图在node.js中迈出第一步,并且我一直在关注本教程: https://docs.microsoft.com/en-us/azure/app-service-api/app-service-api-nodejs-api-app 当我在天蓝色的云壳中输入npm install -g yo时,我收到此错误:

npm ERR! Linux 4.4.0-83-generic
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "yo"
npm ERR! node v6.9.4
npm ERR! npm  v3.10.10
npm ERR! path /usr/local/lib/node_modules
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access

npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
npm ERR!     at Error (native)
npm ERR!  { Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
npm ERR!     at Error (native)
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'access',
npm ERR!   path: '/usr/local/lib/node_modules' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.

npm ERR! Please include the following file with any support request:
npm ERR!     /home/shiran_dror/app-service-api-node-contact-list/npm-debug.log

如何以root身份/管理员身份使用shell?

3 个答案:

答案 0 :(得分:2)

您应该在本地计算机上安装Swaggerize,而不是在Cloud Shell中安装。

  

在本地计算机上安装Swaggerize 。 Swaggerize是一个从Swagger定义为REST API生成Node.js代码的工具。

在本地进行开发后,使用git推送到App Service(第34节;使用Git和#34部署API;来自文档)。

答案 1 :(得分:1)

今天在Cloud Shell中,您被设置为regular user without sudo permissions。因此,您无法从Cloud Shell运行sudo cmds。在您所关注的教程中,Cloud Shell为sections that require az commands to create the Azure app service提供帮助,因为Azure CLI 2.0在那里得到维护和更新。

section where you are npm installing Swaggerize意味着在您的本地计算机上,说明中包含此详细信息。

答案 2 :(得分:0)

您的用户似乎无权在/usr/local/lib/node_modules中安装。尝试删除-g选项以在本地安装。

sudo命令前面使用npm install切换到root用户以获取此命令(如果您允许这样做)。