【问题标题】:How to uninstall serverless? "npm uninstall -g serverless" is not working如何卸载无服务器? “npm uninstall -g serverless”不起作用
【发布时间】:2022-04-01 01:51:15
【问题描述】:

我无法卸载无服务器。我试过npm uninstall -g serverless,但在打印版本后输入serverless -v。我在 Ubuntu Server 16.04 上。

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

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

【问题讨论】:

  • 尝试which serverless查看您安装的位置。
  • 打印/usr/bin/serverless

标签: node.js npm ubuntu-16.04 npm-install serverless


【解决方案1】:

也许出于不同的原因,我还想删除全局 serverless 并改用本地版本。最终,无论在本地还是全局安装 serverlessserverless CLI 仍然会将 serverless-components 安装到您的主目录中。我认为在本地安装 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 docs say:

不要将@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 手动删除二进制文件

    【讨论】:

    • 也是检查是否有任何无服务器进程在运行,在删除文件夹之前将其杀死。我在 mac 上安装过,也有同样的问题,但我的安装在 ~/.serverless
    • 使用which serverless检查位置。我的在 /home/yourname/.serverless/bin/serverless 在 linux 中。然后尝试删除
    猜你喜欢
    • 2022-01-21
    • 2022-10-01
    • 2019-05-30
    • 2020-01-21
    • 2022-01-23
    • 1970-01-01
    • 2019-05-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多