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

时间:2019-05-07 02:05:08

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

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

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

我正在使用n来安装多个版本的节点,所以可能与它有关。

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

尝试使用以下命令:

npm卸载-g serverless,然后删除serverles文件夹。

答案 2 :(得分:0)

也许出于不同的原因,我还想删除全局serverless而不是使用本地版本。最终,无论本地或全局安装serverlessserverless 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 docs say

请勿在您的package.json文件中添加@ sls-next / serverless-component,不使用它,而仅使用serverless.yml文件中的版本。

但是,问题就出在这里,您想使用serverless-component(例如serverless-next.js),但是无服务器将在全局安装它到您的主目录。

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

  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"