顯示具有 error 標籤的文章。 顯示所有文章
顯示具有 error 標籤的文章。 顯示所有文章

2023年10月12日 星期四

npm 安裝不依賴 --legacy-peer-deps 解決 Conflicting Peer Dependency 錯誤

當執行 npm install 時,出現錯誤 Conflicting peer dependecy: XXX,並出現提示:Fix the upstream dependecy conflict, or retry this commaned with --force or --legacy-peer-deps

此時只要嘗試執行

npm install --legacy-peer-deps

確實能夠避免這個錯誤,然而卻無法保證套件運作都是正常的,這個方法只能當作緩解,更正確的作法是將套件更新以保證互相兼容,以避免未來引發其他潛在問題。


首先,列出目前套件版本落後的項目:

npm outdated

可以注意我們會得到哪些訊息,Current 為目前安裝的版本;Wanted則是 npm 自動安裝的版本,確保版號的第一碼一致,盡可能地安裝最新的版本;Lastest 則是目前最新的版本。例如下方這個設定,對照圖片上的訊息,npm會自動安裝版本 7.23.2。

{
  "devDependencies": {
    "@babel/core": "^7.16.12"
  }
}

因為下一步我們會將package-lock.json移除,因此若 Current 和 Wanted 不一致,必須確保 Wanted 顯示的版本並不會影響到目前的專案,根據版本的需求做出對應的調整。若確定不升級,請記得務必調整package.json,確保安裝正確的版本。

下一步,移除目錄node_modules/和檔案package-lock.json

最後重新安裝套件:

npm install

確認一下專案是否都正常,大功告成!


2021年8月5日 星期四

安裝 Caddy 發生 ca-certificates 錯誤解決方式



按照「Ubuntu 安裝 web server Caddy 2」遇到的安裝問題:

echo "deb [trusted=yes] https://apt.fury.io/caddy/ /" \ | sudo tee -a /etc/apt/sources.list.d/caddy-fury.list
sudo apt update

執行第二行 update 後會跳出錯誤訊息:

"Certificate verification failed: The certificate is NOT trusted. The certificate issuer is unknown. Could not handshake: Error in the certificate verification. [IP: XX.XXX.XX.XXX XXX] Reading package lists... Done W: https://apt.fury.io/caddy/InRelease: No system certificates available. Try installing ca-certificates.



代表需要先安裝 ca-certificates

sudo apt install ca-certificates

安裝後重新再一次指令 sudo apt update ,就不會出現錯誤了。



參考資料:
https://caddy.community/t/solved-failed-to-install-caddy-with-official-auto-installation-command/9877

2019年8月14日 星期三

MySQL/MariaDB遠端連線設定



使用DbVisualizer(版本10.0.21)來連線VMWare開的虛擬機資料庫,卻顯示下面的錯誤:
MySQL Connection Error: (1130) Host 'xxx.xx.x.x' is not allowed to connect to this MySQL server


環境

  • MySQL 5.7.27
  • Ubuntu 18.04


步驟

1. 開放防火牆
預設的埠號(port number)3306。
sudo ufw allow mysql/tcp

sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
3306/tcp                   ALLOW       Anywhere
3306/tcp (v6)              ALLOW       Anywhere (v6)

2. 修改綁定的連線位址
請找到指定檔案
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
把這一行刪掉或註解
bind-address=127.0.0.1

3. 新增遠端連線的使用者
預設的情況下,用戶應該都只能從localhost進行連線,查詢方式:
SELECT User,Host FROM mysql.user;
+--------------+------------------+
| host         | User             |
+--------------+------------------+
| localhost    | debian-sys-maint |
| localhost    | mysql.session    |
| localhost    | mysql.sys        |
| localhost    | root             |
+--------------+------------------+
可以看到有4個使用者,允許從localhost進行連線。

方法一、新增指定IP的連線用戶
CREATE USER 'username'@'ip_address' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON *.* TO 'username'@'ip_address';
方法二、新增任意IP的連線用戶
如果是%就是不指定IP
CREATE USER 'username'@'%' IDENTIFIED BY 'mypassword';
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%';
新增完成之後請執行:
FLUSH PRIVILEGES;

可以確認一下使用者有沒有新增成功,也可以查詢使用者權限:
SHOW GRANTS FOR username@ip_address;

// 查詢現在使用者的權限
SHOW GRANTS;
SHOW GRANTS FOR CURRENT_USER;
SHOW GRANTS FOR CURRENT_USER();

步驟到此就完成了!試著用剛剛的帳密登入mysql囉


DbVisualizer連線步驟

1.設定專案名稱

2. 資料庫類型

3. 填寫資料庫位址、port number、使用者帳密

參考資料:
https://docs.bitnami.com/virtual-machine/apps/reviewboard/administration/connect-remotely/

其他:
DbVisualizer 10.0.21 [安裝]
phpmyadmin的替代方案 https://alternative.me/phpmyadmin

2017年10月19日 星期四

[Django] Invalid HTTP_HOST header


遠端建立Django專案,無法在顯示自己的瀏覽器顯示畫面的解決方式。

DisallowedHost at /
Invalid HTTP_HOST header

Request Method: GET
Request URL: http://www.example.com/
Exception Type: DisallowedHost




解決方式:
打開/your project/blog/setting.py找到ALLOWED_HOSTS加上IP address
# /your project/blog/setting.py
ALLOWED_HOSTS = ['www.example.com', 'localhost', '127.0.0.1']

執行方式:
python manage.py runserver 0:8000


在瀏覽器開啟 http://www.example.com:8000
即可正常顯示