如何卸载Serverless? “npm uninstall -g serverless”不起作用

问题描述 投票:0回答:4

我无法卸载无服务器。我已经尝试过

npm uninstall -g serverless
但在打印版本后输入
serverless -v
。我使用的是 Ubuntu Server 16.04。

运行

which serverless
打印
/usr/bin/serverless

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

node.js npm ubuntu-16.04 npm-install serverless
4个回答
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"
  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"

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

0
投票

尝试使用 npm run --force 来覆盖文件

npm install -g serverless --force

0
投票

已解决:

sudo rm -rf /usr/local/lib/node_modules/serverless sudo npm i -g 无服务器

© www.soinside.com 2019 - 2024. All rights reserved.