本文介绍如何在macOS、Linux和Windows操作系统内安装Serverless Devs和Docker。
安装Serverless Devs
说明 函数计算支持通过命令行工具安装Serverless Devs。
- 按需选择安装Serverless Devs的方式。
- 通过包管理器安装
- 通过npm包管理器安装。适用于已经预装npm的Windows、macOS和Linux操作系统。执行以下命令,安装Serverless Devs。
sudo npm install @serverless-devs/s -g
说明 选择此方式安装Serverless Devs时,Node.js的版本需为Node.js 10及以上。安装完成后,您可以执行node --version
命令查看Node.js的版本。 - 通过yarn包管理器安装。适用于已经预装yarn的Windows、macOS和Linux操作系统。执行以下命令,安装Serverless Devs。
sudo yarn global add @serverless-devs/s
- 通过npm包管理器安装。适用于已经预装npm的Windows、macOS和Linux操作系统。
- 通过脚本安装。适用于macOS和Linux操作系统。执行以下命令,安装Serverless Devs。
安装完成后,需根据界面提示设置环境变量,否则安装不能及时生效。更多信息,请参见常见问题。curl -o- -L http://cli.so/install.sh | bash
- 通过包管理器安装
- 执行以下命令,验证是否安装成功。
成功安装后的执行结果示例如下。sudo s -v
@serverless-devs/s: 2.0.83, linux-x64, node-v14.17.4
安装Docker
如果您需要通过Serverless Devs的FC组件进行构建、本地运行调试函数和端云联调等操作,例如,执行s build
、s local
或s proxied
等相关命令,需要在您的开发环境内安装Docker。安装Docker后,在需要使用Docker的场景,Serverless Devs会自动新建Docker的容器并进行调试,您无需手动操作。
- Windows操作系统
请参见官方教程。若遇到网络问题,可以下载阿里云提供的Docker For Windows。
- macOS操作系统
请参见官方教程。若遇到网络问题,可以下载阿里云提供的Docker For macOS。
- Linux操作系统
请参见官方教程。若遇到网络问题,请参见阿里云Docker CE镜像源站下载。
说明 如您不执行Serverless Devs的
s local
、s proxied
等命令,或者不执行s build --use-docker
命令安装依赖或构建项目,则无需安装Docker工具。常见问题
- 当Serverless Devs的版本较低时,如何升级Serverless Devs?
您可以再次执行安装命令完成升级操作。具体信息,请参见安装Serverless Devs。
- 如果安装过程比较慢,您可以使用以下npm源进行安装,命令示例如下。
npm --registry=https://registry.npmmirror.com install @serverless-devs/s -g
- 查看Serverless Devs版本时,发现安装Serverless Devs未及时生效,您可以按需选择以下方式解决。
- 执行以下命令,设置环境变量。
export PATH=$HOME/.s/node-v14.19.3-linux-x64/bin:$PATH
说明 本命令中node-v14.19.3
中版本号仅为示例,不同操作系统对应的该版本号可能不同,请以实际系统提示为准。 - 打开一个新的终端。
- 执行以下命令,设置环境变量。
- 在Linux或macOS操作系统内执行完安装命令后,如果执行Serverless Devs的相关命令时报错且报错信息为
Command not found
,按需选择解决方案。- 通过npm包管理器或脚本安装的Serverless Devs在使用相关命令出现此类报错时,需执行以下命令。
ln -s $(npm root -g)/@serverless-devs/s/bin/s /usr/local/bin/s
- 通过yarn包管理器安装的Serverless Devs在使用相关命令出现此类报错时,需执行以下命令。
ln -s $(yarn global dir)/node_modules/@serverless-devs/s /usr/local/bin/
- 通过npm包管理器或脚本安装的Serverless Devs在使用相关命令出现此类报错时,需执行以下命令。