glob-parent <5.1.2
Severity: high
glob-parent before 5.1.2 vulnerable to Regular Expression Denial of Service in enclosure regex - https://github.com/advisories/GHSA-ww39-953v-wcq6
fix available via `npm audit fix`
node_modules/watchpack-chokidar2/node_modules/glob-parent
chokidar 1.0.0-rc1 - 2.1.8
Depends on vulnerable versions of glob-parent
node_modules/watchpack-chokidar2/node_modules/chokidar
watchpack-chokidar2 *
Depends on vulnerable versions of chokidar
node_modules/watchpack-chokidar2
watchpack 1.7.2 - 1.7.5
Depends on vulnerable versions of watchpack-chokidar2
node_modules/watchpack
webpack 4.44.0 - 4.46.0
Depends on vulnerable versions of watchpack
node_modules/webpack
由於 GitHub 的機器人找出這個安全性問題,而且風險值很高,雖然不更新時,可正確產出結果,但是總是有個風險在。
當然直接升級 webpack v5.x 後,此安全問題可以解決,但是在跑專案時會出錯,以暫時不升版的狀況下,該如何更新版本而不出錯才是當前要解決的問題。
2023/03/18
[npm] 解決 npm glob-parent 版本過舊的安全性問題
markdown
### 問題
最近在一個舊的專案採用 webpack 4.x 的版本,最近要修改檔案,要在能正常執行下,想要一併更新一下開發套件版本。
原本環境:
- typescript 3.9.5
- ts-loader 7.0.5
- webpack 4.43.0
- webpack-cli 4.9.1
執行 `npm audit fix` 之後,已修正不少套件相依版本,但仍有安全性相依版本的問題,即便依照指令再做一次 fix 的動作仍無法更新修正。
2023/02/06
[npm] 如何檢查 npm 全域套件是否更新至最新版本
markdown
### 問題
趁著更新 macOS 的版本,也順便把一些開發工具更新一波。
### 檢查 npm 全域套件是否為最新狀態
1. 可直接執行下列指令來作檢查
```
npx npm-check-updates -g
```
2. 安裝 npm-check-updates 這個全域套件來作檢查
其實初次呼叫第一個方法即會詢問是否安裝 npm-check-updates 套件
```
npm install -g npm-check-updates
```
檢查指令 (執行結果與第一個方法相同)
```
ncu -g
```
2016/03/27
[Node.js] 在 Mac 上使用 Homebrew 更新全域 npm 的解決方法
近期在 Mac 上更新 npm 的全域版本時 (npm update npm -g),造成會出現一些奇怪的問題,在未更新前其實一切都正常
以下指令說明:
一般作業像是使用 gulp 也都沒有問題,但是若是要顯示一些資訊,例如列出全域的安裝套件,卻會出現一些 ERROR 訊息
後來把整個原本的 /usr/local/lib/node_modules 全部刪掉,重新再安裝 Node 並手動安裝 npm 後,終於又恢復正常啦~ 沒有 ERROR 的訊息感覺才正確!
參考資料:
以下指令說明:
- 把原本裝的全域套件先列出存到 ~/node_modules.txt
- 刪除整個 /usr/local/lib/node_modules 資料內容
- Homebrew 解除安裝 node
- Homebrew 安裝 node 但不要 npm
- 建立 ~/.npmrc 的檔案,內容是 prefix=~/.node 即為 npm 的安裝目錄
- 下載安裝 npm
- 把 ~/.node/bin 的路徑加到 ~/.bash_profile
- 重載 ~/.bash_profile
- 重新安裝原本的全域套件
- 刪掉暫存的 ~/node_modules.txt 檔案
執行的指令:
ls -1 /usr/local/lib/node_modules > ~/node_modules.txt
sed -e "s,/\+$,," -e "s,^/\+,," ~/node_modules.txt
rm -rf /usr/local/lib/node_modules
brew uninstall node --force node
brew install node --without-npm
echo prefix=~/.node >> ~/.npmrc
curl -L https://www.npmjs.com/install.sh | sh
echo 'export PATH="$HOME/.node/bin:$PATH"' >> ~/.bash_profile
source ~/.bash_profile
for i in `cat ~/node_modules.txt`;do npm install -g $i;done
rm ~/node_modules.txt
2016/02/06
[Node.js] 升級至 Node 版本 5.5.0
今日不知為何興起把 npm 更新, 結果出現 minimatch 模組找不到
npm install -g npm
出現錯誤:
怎麼也不能正常行使 npm 的指令
原本開發機上的 Node.js 版本為 4.2.0, 到官網上看到最近的版本為 5.5.0, 乾脆一併升級好了
怪的是更新完仍然無法正常使用 npm 的一些相關指令, 而這回出現的是 npm-cli.js 有錯誤, 指令不能正常運作
列出所有安裝的全域套件
npm ls -g --depth=0
只要能正確列出就沒問題

最終解決方法:
把原本安裝的 Node.js 完全移除, 把所有的 AppData 下的 npm 也刪掉 (全域的套件要全部重新下載過, 可能 5.5 的結構有變更過, 留著舊版的也會出現錯誤)
還是用全部重新來過的方式,才沒有問題,真的是砍掉重練! 順便清掉一些沒在用的全域套件也是好事啦!
至於 Vusial Studio 幫我裝的 vs-tac 的套件,再想辦法裝回來了...
npm install -g npm
出現錯誤:
Error: Cannot find module 'minimatch'
怎麼也不能正常行使 npm 的指令
原本開發機上的 Node.js 版本為 4.2.0, 到官網上看到最近的版本為 5.5.0, 乾脆一併升級好了
怪的是更新完仍然無法正常使用 npm 的一些相關指令, 而這回出現的是 npm-cli.js 有錯誤, 指令不能正常運作
列出所有安裝的全域套件
npm ls -g --depth=0
只要能正確列出就沒問題

最終解決方法:
把原本安裝的 Node.js 完全移除, 把所有的 AppData 下的 npm 也刪掉 (全域的套件要全部重新下載過, 可能 5.5 的結構有變更過, 留著舊版的也會出現錯誤)
還是用全部重新來過的方式,才沒有問題,真的是砍掉重練! 順便清掉一些沒在用的全域套件也是好事啦!
至於 Vusial Studio 幫我裝的 vs-tac 的套件,再想辦法裝回來了...
2015/12/07
[Node.js] npm 常用指令
npm (Node package manager) 管理套件常用指令:
安裝特定版本
查詢版本
npm -vnpm install -g [PACKAGE]npm install -g [PACKAGE]@[VERSION]
移除全域套件
npm uninstall -g [PACKAGE]
更新全域套件
npm update -g
訂閱:
文章 (Atom)

