在編程和開(kāi)發(fā)的過(guò)程中,我們常常會(huì)遇到各種各樣的問(wèn)題,這些問(wèn)題可能會(huì)阻礙我們的進(jìn)度。從網(wǎng)絡(luò)連接問(wèn)題到工具使用異常,從權(quán)限設(shè)置難題到腳本執(zhí)行報(bào)錯(cuò),每一個(gè)小問(wèn)題都可能成為前進(jìn)道路上的絆腳石。下面,藍(lán)隊(duì)云就為大家詳細(xì)介紹一些常見(jiàn)問(wèn)題的表現(xiàn)及解決辦法。
1. curl連接網(wǎng)絡(luò)問(wèn)題
問(wèn)題描述
使用 curl
時(shí),可能會(huì)遇到如下錯(cuò)誤:
curl: (7) Failed to connect to 127.0.0.1 port 4781 after 0 ms: Couldn't connect to server
解決方法
curl
的配置文件路徑為 ~/.curlrc
。刪除該文件中以下內(nèi)容:
socks5 = "127.0.0.1:4781"
2. Win10 上安裝 pnpm 后無(wú)法運(yùn)行
問(wèn)題描述
執(zhí)行 pnpm -v
時(shí),提示不是內(nèi)部或外部命令。
解決方法
運(yùn)行以下命令,查看 pnpm
安裝路徑:
npm list -g --depth 0
如果安裝路徑為 D:\\\\UserData\\\\135****7816\\\\AppData\\\\Roaming\\\\npm
,將其加入到系統(tǒng)環(huán)境變量中。
3. Mac 添加 SSH 權(quán)限
創(chuàng)建 SSH 密鑰:
ssh-keygen -o -f ~/.ssh/id_rsa
ssh-keygen -o -t rsa -b 4096 -C "david@fosun.com"
4. GitHub 使用 SSH 拉代碼失敗
問(wèn)題描述
添加 SSH key 后,拉取代碼失敗并提示:
Error: Permission denied (publickey)
解決方法
檢查 ~/.ssh/config
文件是否存在:
open ~/.ssh/config
如果文件不存在,使用以下命令創(chuàng)建:
touch ~/.ssh/config
編輯 ~/.ssh/config
文件,添加以下內(nèi)容(根據(jù)實(shí)際路徑修改):
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_ed25519
5. 啟動(dòng) Terminal 提示 env: node: No such file or directory
解決方法
更改文件權(quán)限:
sudo chown -R $(whoami) $(brew --prefix)/*
鏈接 Node.js:
brew link --overwrite node
6. Mac 下 SourceTree 的 Git pre-commit 鉤子問(wèn)題
問(wèn)題描述
pre-commit
鉤子無(wú)法使用 Node.js。
解決方法
檢查 Node.js 路徑:
which node
示例輸出:
/usr/local/opt/nvm/versions/node/v10.16.0/bin/node
在 pre-commit
文件頂部添加以下內(nèi)容:
PATH="/usr/local/opt/nvm/versions/node/v10.16.0/bin/node"
7. Shell 文件執(zhí)行報(bào)錯(cuò)及解決
問(wèn)題描述
假設(shè)存在以下 scope.sh
文件,執(zhí)行 bash ./scope.sh
時(shí)會(huì)報(bào)錯(cuò):
#!/bin/bash
function hello () {
echo "Hello world"
}
#call this function as follow:
hello # Syntax Correct
報(bào)錯(cuò)信息如下:
'/scope.sh: line 2: syntax error near unexpected token `{
'/scope.sh: line 2: `function hello () {
問(wèn)題原因
該問(wèn)題通常發(fā)生在使用 Windows 系統(tǒng)創(chuàng)建的文件,在 Linux 系統(tǒng)上執(zhí)行時(shí)。
原因在于 Windows 的換行符是 回車(chē) + 換行 (\\\\r\\\\n
),而 Linux 使用的是 換行 (\\\\n
)。
因此,文件中多余的 ^M
符號(hào)(表示回車(chē)字符 \\\\r
)導(dǎo)致了語(yǔ)法錯(cuò)誤。
解決方案
使用 Vim 移除 ^M
打開(kāi)文件:
vim 的 -b 選項(xiàng)是告訴 Vim 打開(kāi)的是一個(gè)二進(jìn)制文件
vim -b scope.sh
進(jìn)入命令模式:
shift + :
替換所有的 ^M
為新行符 \\\\r
:
%s/<Ctrl-V><Ctrl-M>/\\\\r/g
解釋:
總之,編程開(kāi)發(fā)中遇到問(wèn)題并不可怕,關(guān)鍵在于我們要善于總結(jié)和解決。上述這些常見(jiàn)問(wèn)題及對(duì)應(yīng)的解決方法,希望能幫助大家在遇到類似情況時(shí),快速找到解決方案,提高開(kāi)發(fā)效率,讓編程之路更加順暢。
藍(lán)隊(duì)云官網(wǎng)上擁有完善的技術(shù)支持庫(kù)可供參考,大家可自行查閱,更多技術(shù)問(wèn)題,也可以直接咨詢。同時(shí),藍(lán)隊(duì)云整理了運(yùn)維必備的工具包免費(fèi)分享給大家使用,需要的朋友可以直接咨詢。更多技術(shù)知識(shí),藍(lán)隊(duì)云期待與你一起探索。