如何卸载无服务器?“npm uninstall -g serverless”不起作用

sk8*_*84z 8 node.js npm npm-install ubuntu-16.04 serverless

我无法卸载无服务器。我已经尝试过,但在打印版本后npm uninstall -g serverless输入。serverless -v我使用的是 Ubuntu 服务器 16.04。

运行which serverless打印/usr/bin/serverless

我正在使用 n 安装多个版本的节点,因此这可能与它有关。

pot*_*nch 9

也许出于不同的原因,我也想删除全局版本serverless并使用本地版本。最终,无论serverless本地安装还是全局安装,serverless CLI仍然会将无服务器组件安装到您的主目录中。我认为本地安装的全部目的serverless是将无服务器组件固定在特定的版本号。

对于您的问题,以下是如何删除全局安装serverless并将其替换为本地版本的方法。

删除全局安装的无服务器

假设你跑了npm install -g serverless,你就跑了npx serverless。它现在已经安装了serverless.yml文件中列出的所有组件并更新了您的~/.bashrc~/.bash_profile.

要删除它:

  1. npm uninstall -g serverless
  2. 打开~/.bash_profile(或~/.bashrc) 并删除该行
# Added by serverless binary installer
export PATH="$HOME/.serverless/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)
  1. rm -rf ~/.serverless
  2. rm -rf ~/.serverlessrc
  3. rm -rf ~/.serverlesscomponentsrc

本地使用无服务器

serverless -nextjs 文档说

不要将 @sls-next/serverless-component 添加到 package.json 文件中,它不会被使用,仅使用 serverless.yml 文件中的版本。

但是,这就是问题所在,您想要使用serverless-component(例如 serverless-next.js),但 serverless 会将其全局安装在您的主目录中。

为了避免这种情况,您可以忽略文档并执行以下操作:

  1. npm install serverless --save-dev
  2. npm install @sls-next/serverless-component --save-dev
  3. 更新serverless.yml为直接指向组件
# serverless.yml
nameOfMyApp:
 component: "./node_modules/@sls-next/serverless-component"
Run Code Online (Sandbox Code Playgroud)


Ben*_*rds 2

  1. 检查您是否没有运行项目目录中安装的无服务器本地版本。
  2. 手动删除二进制文件rm -f /usb/bin/serverless