我无法卸载无服务器。我尝试过npm uninstall -g serverless
,但是在打印版本后输入serverless -v
。我在Ubuntu Server 16.04上。
运行which serverless
会打印/usr/bin/serverless
。
我正在使用n来安装多个版本的节点,所以可能与它有关。
答案 0 :(得分:0)
rm -f /usb/bin/serverless
手动删除二进制文件答案 1 :(得分:0)
尝试使用以下命令:
npm卸载-g serverless,然后删除serverles文件夹。
答案 2 :(得分:0)
也许出于不同的原因,我还想删除全局serverless
而不是使用本地版本。最终,无论本地或全局安装serverless
,serverless CLI
仍将无服务器组件安装到您的主目录中。我认为在本地安装serverless
的全部目的是将无服务器组件固定在特定的版本号上。
关于您的问题的更多信息,这是如何删除全局安装serverless
并用本地版本替换它。
假设您运行了npm install -g serverless
,而您运行了npx serverless
。现在,它已经安装了serverless.yml
文件中列出的所有组件,并更新了~/.bashrc
或~/.bash_profile
。
要删除它:
npm uninstall -g serverless
~/.bash_profile
(或~/.bashrc
)并删除行# Added by serverless binary installer
export PATH="$HOME/.serverless/bin:$PATH"
rm -rf ~/.serverless
rm -rf ~/.serverlessrc
rm -rf ~/.serverlesscomponentsrc
请勿在您的package.json文件中添加@ sls-next / serverless-component,不使用它,而仅使用serverless.yml文件中的版本。
但是,问题就出在这里,您想使用serverless-component
(例如serverless-next.js),但是无服务器将在全局安装它到您的主目录。
为避免这种情况,您可以忽略文档并执行以下操作:
npm install serverless --save-dev
npm install @sls-next/serverless-component --save-dev
serverless.yml
以直接指向组件# serverless.yml
nameOfMyApp:
component: "./node_modules/@sls-next/serverless-component"