<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Matheus Rocha]]></title><description><![CDATA[Matheus Rocha]]></description><link>https://matheusrocha.dev</link><generator>RSS for Node</generator><lastBuildDate>Fri, 17 Apr 2026 13:38:56 GMT</lastBuildDate><atom:link href="https://matheusrocha.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Como Adicionar um AppImage à Barra de Aplicativos no Linux]]></title><description><![CDATA[O formato AppImage é uma forma prática de distribuir softwares no Linux sem necessidade de instalação. No entanto, diferentemente dos pacotes .deb ou .rpm, os arquivos AppImage não criam atalhos automaticamente no menu de aplicativos. Isso significa ...]]></description><link>https://matheusrocha.dev/como-adicionar-um-appimage-a-barra-de-aplicativos-no-linux</link><guid isPermaLink="true">https://matheusrocha.dev/como-adicionar-um-appimage-a-barra-de-aplicativos-no-linux</guid><category><![CDATA[appimage]]></category><category><![CDATA[Linux]]></category><category><![CDATA[Ubuntu]]></category><category><![CDATA[#howtos]]></category><category><![CDATA[Installation]]></category><category><![CDATA[installation guide]]></category><dc:creator><![CDATA[Matheus Rocha]]></dc:creator><pubDate>Thu, 27 Mar 2025 13:28:19 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1743081993454/7d959a17-0774-4557-ba27-fa22c0633a70.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>O formato <strong>AppImage</strong> é uma forma prática de distribuir softwares no Linux sem necessidade de instalação. No entanto, diferentemente dos pacotes <code>.deb</code> ou <code>.rpm</code>, os arquivos <strong>AppImage</strong> não criam atalhos automaticamente no menu de aplicativos. Isso significa que, sempre que quiser abrir o programa, você precisará executar manualmente o arquivo baixado.</p>
<p>Neste tutorial, vou te ensinar como adicionar um AppImage à barra de aplicativos no Linux. Usarei o <a target="_blank" href="https://www.cursor.com/"><strong>Cursor</strong></a> como exemplo, mas esse processo pode ser aplicado a qualquer AppImage.</p>
<h2 id="heading-por-que-algumas-empresas-distribuem-apenas-appimages">Por que algumas empresas distribuem apenas AppImages?</h2>
<p>Muitas empresas optam por distribuir seus aplicativos como <strong>AppImages</strong> porque esse formato oferece:</p>
<ul>
<li><p><strong>Portabilidade</strong>: Um único arquivo que pode ser executado em qualquer distribuição Linux sem precisar de instalação.</p>
</li>
<li><p><strong>Isolamento</strong>: O AppImage inclui todas as dependências necessárias, reduzindo conflitos com pacotes do sistema.</p>
</li>
<li><p><strong>Facilidade para desenvolvedores</strong>: Eles não precisam manter pacotes específicos para diferentes distribuições (como <code>.deb</code> para Debian/Ubuntu e <code>.rpm</code> para Fedora/CentOS).</p>
</li>
</ul>
<p>Apesar dessas vantagens, a falta de integração automática pode ser um problema para usuários que preferem acessar os aplicativos pela interface gráfica (eu).</p>
<h3 id="heading-1-mover-o-arquivo-appimage-para-um-local-adequado">1. Mover o arquivo AppImage para um local adequado</h3>
<p>Por padrão, os arquivos AppImage são baixados para a pasta <code>~/Downloads</code>, mas é recomendável movê-los para um diretório centralizado, como <code>/opt/nome-do-app/</code>.</p>
<pre><code class="lang-bash">sudo mv ~/Downloads/Cursor-0.47.8.deb.glibc2.25-x86_64.AppImage /opt/cursor/
</code></pre>
<p>Lembre-se de substituir o arquivo <code>.Appimage</code> pela versão e nome correta do seu arquivo.</p>
<h3 id="heading-2-dar-permissao-de-execucao-ao-appimage">2. Dar permissão de execução ao AppImage</h3>
<p>Para que o AppImage possa ser executado corretamente, conceda a permissão necessária:</p>
<pre><code class="lang-bash">sudo chmod +x /opt/cursor/Cursor-0.47.8.deb.glibc2.25-x86_64.AppImage
</code></pre>
<p>Ou você também pode fazer isso manualmente clicando com o botão direito, indo em propriedades e habilitar a opção de “Permitir a execução do arquivo como programa“:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1743080696533/77355de7-be50-48b0-adb2-1e97689ead23.png" alt class="image--center mx-auto" /></p>
<h3 id="heading-3-criar-um-atalho-para-o-aplicativo">3. Criar um atalho para o aplicativo</h3>
<p>Agora, crie um arquivo <code>.desktop</code> na pasta <code>/usr/share/applications/</code>:</p>
<pre><code class="lang-bash">sudo nano /usr/share/applications/cursor.desktop
</code></pre>
<p>Dentro desse arquivo, adicione o seguinte conteúdo:</p>
<pre><code class="lang-plaintext">[Desktop Entry]
Name=Cursor
Exec=/opt/cursor/Cursor-0.47.8.deb.glibc2.25-x86_64.AppImage
Icon=/opt/cursor/cursor.png
Type=Application
Categories=Development;
</code></pre>
<p><strong>Obs:</strong> O campo <code>Icon=</code> precisa apontar para um arquivo de imagem válido. Você pode mover o ícone para o mesmo diretório onde o <code>.AppImage</code> está.</p>
<h3 id="heading-4-atualizar-o-cache-do-menu">4. Atualizar o cache do menu</h3>
<p>Após criar o arquivo <code>.desktop</code>, atualize o cache do menu para garantir que o aplicativo apareça na barra de aplicativos:</p>
<pre><code class="lang-plaintext">update-desktop-database ~/.local/share/applications/
</code></pre>
<p>Agora, ao pesquisar pelo <strong>Aplicativo</strong> no menu de aplicativos, ele deve aparecer corretamente!</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1743081775690/bf8c91b6-cfcb-46e2-9cea-fd508283998b.png" alt class="image--center mx-auto" /></p>
<h2 id="heading-como-atualizar-o-appimage">Como atualizar o AppImage</h2>
<p>Se você precisar atualizar a versão do AppImage, siga estes passos:</p>
<ol>
<li><p><strong>Baixe a nova versão</strong> do site oficial</p>
</li>
<li><p><strong>Mova o novo arquivo para</strong> <code>/opt/</code>, substituindo o antigo</p>
<pre><code class="lang-plaintext"> sudo mv ~/Downloads/opt/cursor/Cursor-0.50.17.deb.glibc2.25-x86_64.AppImage /opt/cursor/
</code></pre>
</li>
<li><p><strong>Garanta que o novo arquivo tenha permissão de execução</strong></p>
<pre><code class="lang-plaintext"> sudo chmod +x /opt/cursor/Cursor-0.50.17.deb.glibc2.25-x86_64.AppImage
</code></pre>
<p> Obs: Também pode ser feito manualmente clicando com o botão direito e habilitando a opção “Permitir a execução do arquivo como programa”.</p>
</li>
<li><p><strong>Verifique se o aplicativo funciona normalmente procurando ele nos seus aplicativos e executando</strong></p>
</li>
</ol>
<p>Isso garantirá que você sempre tenha a versão mais recente do aplicativo sem precisar reconfigurar nada!</p>
]]></content:encoded></item><item><title><![CDATA[Como usar um vite.config.ts diferente no ambiente local]]></title><description><![CDATA[Se você trabalha com Vite + Vue.js e precisa de uma configuração específica apenas no seu ambiente de desenvolvimento local, uma solução simples é criar um arquivo de configuração separado e utilizá-lo apenas ao iniciar o servidor localmente.
Isso po...]]></description><link>https://matheusrocha.dev/como-usar-um-viteconfigts-diferente-no-ambiente-local</link><guid isPermaLink="true">https://matheusrocha.dev/como-usar-um-viteconfigts-diferente-no-ambiente-local</guid><category><![CDATA[Vue.js]]></category><category><![CDATA[configuration]]></category><category><![CDATA[vite]]></category><dc:creator><![CDATA[Matheus Rocha]]></dc:creator><pubDate>Thu, 30 Jan 2025 14:33:22 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1738247351762/519c9acf-0c82-42e5-a8a2-688e166ef8f5.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Se você trabalha com <strong>Vite + Vue.js</strong> e precisa de uma configuração específica apenas no seu ambiente de desenvolvimento local, uma solução simples é criar um arquivo de configuração separado e utilizá-lo apenas ao iniciar o servidor localmente.</p>
<p>Isso pode ser útil, por exemplo, para utilizar configurações específicas do <strong>VueDevTools</strong>, usar variáveis de ambiente diferentes, entre outras personalizações sem afetar os outros ambientes.</p>
<h2 id="heading-criando-um-arquivo-de-configuracao-local">Criando um arquivo de configuração local</h2>
<p>Por padrão, o Vite usa o arquivo <code>vite.config.ts</code>, mas podemos definir um arquivo diferente para iniciar o projeto localmente. Para isso, siga estes passos:</p>
<ol>
<li><p>Crie um novo arquivo de configuração, por exemplo: <code>my.config.ts</code>.</p>
</li>
<li><p>Copie o conteúdo de <code>vite.config.ts</code> para esse novo arquivo e faça as modificações necessárias.</p>
</li>
<li><p>Ao iniciar o servidor de desenvolvimento, utilize a flag <code>--config</code> para indicar o novo arquivo:</p>
<pre><code class="lang-plaintext"> yarn dev --config my.config.ts
</code></pre>
</li>
<li><p>Para evitar que esse arquivo seja enviado ao repositório, adicione-o ao <code>.gitignore</code>:</p>
<pre><code class="lang-plaintext"> echo "my.config.ts" &gt;&gt; .gitignore
</code></pre>
</li>
</ol>
<h2 id="heading-conclusao">Conclusão</h2>
<p>Dessa forma, você pode personalizar sua configuração do Vite exclusivamente para o ambiente local, sem impactar a versão usada por outros desenvolvedores ou nos ambientes de produção.</p>
]]></content:encoded></item><item><title><![CDATA[Como resolver o erro do yarn: This project's package.json defines packageManager: "yarn@3.6.4". However the current global version of Yarn is 1.22.2]]></title><description><![CDATA[Recentemente me deparei com esse erro que foi um tanto chato de resolver. Abaixo os passos que realizei para solucionar o problema. Detalhe, estou utilizando o NVM para gerenciar minhas versões do node.
Desabilite o Corepack
corepack disable

Desinst...]]></description><link>https://matheusrocha.dev/como-resolver-o-erro-do-yarn-this-projects-packagejson-defines-packagemanager-yarn364-however-the-current-global-version-of-yarn-is-1222</link><guid isPermaLink="true">https://matheusrocha.dev/como-resolver-o-erro-do-yarn-this-projects-packagejson-defines-packagemanager-yarn364-however-the-current-global-version-of-yarn-is-1222</guid><category><![CDATA[Yarn]]></category><category><![CDATA[Node.js]]></category><category><![CDATA[nvm]]></category><category><![CDATA[corepack]]></category><category><![CDATA[error]]></category><dc:creator><![CDATA[Matheus Rocha]]></dc:creator><pubDate>Fri, 10 Jan 2025 19:26:37 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1738095788368/81b6baab-3587-42b1-b969-b68a12e1febe.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Recentemente me deparei com esse erro que foi um tanto chato de resolver. Abaixo os passos que realizei para solucionar o problema. Detalhe, estou utilizando o NVM para gerenciar minhas versões do node.</p>
<p>Desabilite o Corepack</p>
<pre><code class="lang-plaintext">corepack disable
</code></pre>
<p>Desinstale qualquer versão existente do yarn</p>
<pre><code class="lang-plaintext">npm uninstall -g yarn
</code></pre>
<p>Verifique se realmente está desinstalado, utilize alguns desses comandos</p>
<pre><code class="lang-plaintext">which yarn
yarn --version
</code></pre>
<p>Habilite o corepack</p>
<pre><code class="lang-plaintext">corepack enable
</code></pre>
<p>Agora vamos indicar qual versão do yarn queremos, assim o Corepack vai utilizar a versão 1.22.22 no seu projeto</p>
<pre><code class="lang-plaintext">yarn set version 1.22.22
</code></pre>
<p>Verifique a versão do yarn</p>
<pre><code class="lang-plaintext">yarn --version
</code></pre>
<p>Nesse momento deve aparecer no seu terminal <code>1.22.22</code> e deve ser possível instalar as dependências no seu projetocaso ainda tenha problemas, siga para a próxima possível solução.</p>
<p>Nesse caso vamos apenas cortar o mal pela raiz. Mudamos a versão do Node.js para alguma diferente da quele estamos utilizando no NVM</p>
<pre><code class="lang-plaintext">nvm install 20
</code></pre>
<p>Remover a versão com problema e instalar novamente</p>
<pre><code class="lang-plaintext">nvm uninstall 22.12
nvm install 22.12
</code></pre>
<p>Habilitar o corepack</p>
<pre><code class="lang-json">corepack enable
</code></pre>
<p>Indicar qual a versão desejada do yarn</p>
<pre><code class="lang-plaintext">yarn set version 1.22.22
</code></pre>
<p>Verificar a versão do yarn</p>
<pre><code class="lang-plaintext">yarn --version
</code></pre>
<p>Agora você deve estar com a versão do yarn que deseja utilizar.</p>
]]></content:encoded></item></channel></rss>