我无法卸载无服务器。我已经尝试过
npm uninstall -g serverless
但在打印版本后输入 serverless -v
。我使用的是 Ubuntu Server 16.04。
运行
which serverless
打印 /usr/bin/serverless
。
我正在使用 n 安装多个版本的节点,因此这可能与它有关。
也许出于不同的原因,我也想删除全局
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
不要将 @sls-next/serverless-component 添加到 package.json 文件中,它不会被使用,仅使用 serverless.yml 文件中的版本。
但是,这就是问题所在,您想要使用
serverless-component
(如 serverless-next.js),但 serverless 会将其全局安装在您的主目录中。
为了避免这种情况,您可以忽略文档并执行以下操作:
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"
rm -f /usb/bin/serverless
尝试使用 npm run --force 来覆盖文件
npm install -g serverless --force
已解决:
sudo rm -rf /usr/local/lib/node_modules/serverless sudo npm i -g 无服务器