移除安装编译好的 Node 版本以及卸载安装的 PHP 版本及其相关扩展
<p>最近迁移网站,在服务器上安装了指定版本<code>Node</code> 后,然后 <code>yarn</code> 项目所需要的依赖文件时,报错模块与版本不兼容,提示版本过低,故而需要换版本。</p>
<p>安装了编译好的 Node.js 版本,可以按照以下步骤来卸载它:</p>
<p><strong>找到 Node.js 安装目录</strong></p>
<p>首先,需要找到 Node.js 的安装目录。如果是使用编译源代码的方式安装的 Node.js,会安装到 <code>/usr/local/bin</code> 目录下。</p>
<p><strong>删除 Node.js 可执行文件</strong></p>
<p>删除 Node.js 的可执行文件。
这通常是 <code>node</code> 和 <code>npm</code>(或 <code>npx</code>、<code>npm-cli.js</code> 等)。</p>
<pre><code class=“language-Bash”>sudo rm /usr/local/bin/node
sudo rm /usr/local/bin/npm
sudo rm /usr/local/bin/npx</code></pre>
<p><strong>删除 Node.js 替代链接(如果有)</strong></p>
<p>如果创建了符号链接到其他目录,如 <code>/usr/bin</code>,也应该删除这些链接。</p>
<pre><code class=“language-Bash”>sudo rm /usr/bin/node
sudo rm /usr/bin/npm
sudo rm /usr/bin/npx</code></pre>
<p><strong>删除 Node.js 的 man 页面(如果有)</strong></p>
<p>如果在安装过程中创建了 man 页面,也应该删除它们。</p>
<pre><code class=“language-Bash”>sudo rm -rf /usr/local/share/man/man1/node.1
sudo rm -rf /usr/local/share/man/man1/npm*.1
</code></pre>
<p><strong>删除 Node.js 的库文件</strong></p>
<p>删除 Node.js 的库文件,这些文件通常位于 <code>/usr/local/lib</code> 或 <code>/usr/lib</code> 目录下。</p>
<pre><code class=“language-Bash”>sudo rm -rf /usr/local/lib/node*
sudo rm -rf /usr/lib/node*
</code></pre>
<p><strong>删除 Node.js 的配置文件(如果有)</strong></p>
<p>如果你在安装过程中创建了配置文件,也应该删除它们。</p>
<pre><code class=“language-Bash”>sudo rm -rf /etc/apt/sources.list.d/nodesource.list</code></pre>
<p><strong>删除 Node.js 的安装目录</strong></p>
<p>最后,删除 Node.js 的安装目录,通常是 <code>/usr/local/lib/nodejs</code>。</p>
<pre><code class=“language-Bash”>sudo rm -rf /usr/local/lib/nodejs</code></pre>
<p><strong>清理 npm 缓存(可选)</strong></p>
<p>如果你想要彻底清理 Node.js 的痕迹,你也可以清理 npm 的缓存。</p>
<pre><code class=“language-Bash”>npm cache clean --force</code></pre>
<p>请注意,这些步骤假设你是以标准方式安装 Node.js,并且没有使用包管理器。</p>
<p>清理了node 环境后,也记得把使用 npm 安装其他的全局命令清理一下,不然使用或者创建时会提示没有此类文件或目录存在。</p>
<pre><code class=“language-Bash”>ln -s /root/node-v16.17.0-linux-x64/bin/yarn /usr/local/bin/yarn
ln: failed to create symbolic link '/usr/local/bin/yarn': File exists
yarn
-bash: /usr/local/bin/yarn: No such file or directory</code></pre>
<h3>npm清理</h3>
<p>如果你确定现有的链接是错误的或者已经过时了,你可以先删除它,然后创建一个新的链接。</p>
<p><strong>检查现有文件</strong>:不确定是否应该删除链接,可以检查现有文件是否正确</p>
<pre><code class=“language-Bash”>cat /usr/local/bin/yarn</code></pre>
<p>这将显示文件的内容。如果它是一个有效的 <code>yarn</code> 可执行文件,你可能不需要做任何事情。如果它不是,你可以删除它,然后创建符号链接。</p>
<p>使用<code>ls</code>检查现有的链接更直观</p>
<pre><code class=“language-Bash”>ls -l /usr/local/bin/yarn
ls -l /usr/local/bin/pm2</code></pre>
<p>这将显示链接当前指向的位置,打印出来的内容里node-v后面的数字就是版本,对应不上安装的就可以删了。</p>
<pre><code class=“language-Bash”>ls -l /usr/local/bin/yarn
lrwxrwxrwx 1 root root 37 Apr 17 10:39 /usr/local/bin/yarn -> /root/node-v16.0.0-linux-x64/bin/yarn</code></pre>
<p>如果确定可以安全地这样做,删除链接:</p>
<pre><code class=“language-Bash”>sudo rm /usr/local/bin/yarn
sudo rm /usr/local/bin/pm2
</code></pre>
<h2>卸载安装的PHP 7.4及其相关扩展</h2>
<p><strong>列出已安装的PHP相关包</strong>: 使用<code>apt</code>命令列出所有与PHP 7.4相关的包:</p>
<pre><code class=“language-Bash”>sudo apt list --installed | grep php7.4</code></pre>
<p><strong>卸载PHP 7.4及其扩展</strong>: 使用<code>apt</code>命令卸载列出的所有PHP 7.4相关的包。您可以使用通配符<code></code>来卸载所有相关的包:</p>
<pre><code class=“language-Bash”>sudo apt purge php7.4</code></pre>
<p>或者,您可以逐个卸载每个包:</p>
<pre><code class=“language-Bash”>sudo apt purge php7.4-common php7.4-mysql php7.4-xml php7.4-xmlrpc php7.4-curl php7.4-gd php7.4-imagick php7.4-cli php7.4-dev php7.4-imap php7.4-mbstring php7.4-opcache php7.4-soap php7.4-zip php7.4-fpm
</code></pre>
<p><strong>删除多余的配置文件</strong>: 卸载PHP包后,可能会有一些剩余的配置文件留在系统中。您可以使用以下命令来清理这些文件:</p>
<pre><code class=“language-Bash”>sudo apt autoremove
sudo apt autoclean</code></pre>
<p><strong>删除PPA源</strong>: 如果您想要完全清理系统并且不打算再次使用ondrej/php存储库,您可以删除这个PPA源:</p>
<pre><code class=“language-Bash”>sudo add-apt-repository --remove ppa:ondrej/php</code></pre>
<p><strong>更新包列表</strong>: 最后,更新您的包列表以确保所有更改都反映在系统中:</p>
<pre><code class=“language-Bash”>sudo apt update</code></pre>
