動態

詳情 返回 返回

macos:全局鏡像怎麼修改 - 動態 詳情

由於淘寶鏡像已經過期,我這邊通過 npm config set registry修改淘寶鏡像,卻發現一旦創建項目還是從老的淘寶鏡像.
其實問題所在就是修改的鏡像源可能未被全局加載,尤其是當系統中存在多個 .npmrc 文件時,優先級較低的配置可能被覆蓋。
第一個方案:驗證並強制更新鏡像源

# 檢查當前鏡像源
npm config get registry

# 強制切換為新淘寶鏡像(npmmirror)
npm config set registry https://registry.npmmirror.com --global

# 清除緩存
npm cache clean --force
現在這個清除緩存已經禁止了,改成:npm cache verify

第二個方案:修正 Vue CLI 內部配置
找到 Vue CLI 的 registries.js 文件(路徑通常為 /usr/local/lib/node_modules/@vue/cli/lib/util/registries.js),修改內容為:

const registries = {
  npm: 'https://registry.npmmirror.com',
  yarn: 'https://registry.yarnpkg.com',
  pnpm: 'https://registry.npmjs.org'
};
module.exports = registries;

保存後啓動終端。
打開文件的命令:cd /usr/local/lib/node_modules/@vue/cli/lib/util
編輯文件:vim registries.js (i是編輯,:wq是保存,:q!是不保存強制退出。別忘了esc鍵是編寫完成後按的)
如果發現命令沒有權限,增加權限:sudo chmod -R 0777 registries.js

這是兩個鏡像的地址
node鏡像:https://registry.npmjs.org
淘寶鏡像:npm config set registry https://registry.npmmirror.com

然後再檢查並覆蓋所有 .npmrc 文件
刪除用户目錄下的舊 .npmrc 文件:

rm ~/.npmrc

將新鏡像配置複製到系統 npm 目錄:

cp /usr/local/lib/node_modules/npm/.npmrc ~/.npmrc

使用 cnpm 或 yarn 替代

# 使用淘寶的 cnpm(自動處理鏡像問題)
npm install -g cnpm --registry=https://registry.npmmirror.com
cnpm install -g @vue/cli

# 或使用 yarn
yarn config set registry https://registry.npmmirror.com
yarn global add @vue/cli

驗證步驟
完成上述操作後,執行以下命令驗證:

npm config get registry  # 應輸出 https://registry.npmmirror.com
vue create my-project    # 觀察是否仍從舊鏡像拉取

若問題依舊,建議重新安裝 Node.js 和 Vue CLI

Add a new 評論

Some HTML is okay.