Node.js Azure上的RESTful API

我正在尝试在node.js中进行第一步,并且一直在关注本教程: https : //docs.microsoft.com/en-us/azure/app-service-api/app-service-api- nodejs-api-app当我inputnpm install -g yo到azure中的云壳时,我得到这个错误:

 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?

您应该在本地机器上安装Swaggerize,而不是在云端Shell中。

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

完成本地开发后,使用git推送到App Service(“文档中使用Git部署API”一节)。

在今天的Cloud Shell中,您被设置为没有sudo权限的普通用户 。 因此,您目前无法从云端Shell运行sudo cmds。 在本教程中,Cloud Shell帮助需要使用az命令创buildAzure应用程序服务的部分,因为Azure CLI 2.0在那里为您维护和更新。

你在npm安装Swaggerize的部分应该在你的本地机器上,说明中包含了这个细节。

看来你的用户没有安装在/usr/local/lib/node_modules 。 尝试删除-g选项以在本地安装。

npm install命令前面使用sudo切换到root用户这个命令(如果允许的话)。

Interesting Posts