“pnpm不是內(nèi)部或外部命令” 錯誤的完整解決方案
深入剖析 “pnpm 不是內(nèi)部或外部命令” 錯誤:前端的完整解決方案
理解問題的根源

什么是 pnpm?為什么它如此重要?
pnpm(performant npm)是一個快速、節(jié)省磁盤空間的 JavaScript 包管理器。與傳統(tǒng)的 npm 和 yarn 相比,pnpm 采用了一種革命性的依賴管理方式——內(nèi)容可尋址存儲和硬鏈接機制。
讓我用一個簡單的比喻來解釋:想象一下你的電腦里有多個項目都使用了 React。傳統(tǒng)的包管理器會在每個項目的 node_modules 中都復(fù)制一份 React 的代碼,這就像在圖書館的每個書架上放同一本書的多個副本。而 pnpm 的做法則像是在圖書館中心位置放一本原著,然后在各個書架放置指向這本原著的目錄卡片。這種方式不僅大大提升了依賴安裝速度,還能減少 60-70% 的磁盤空間占用。
錯誤信息的真正含義
當(dāng)我們在命令行中輸入 pnpm install 并看到 “‘pnpm’ 不是內(nèi)部或外部命令” 的錯誤提示時,操作系統(tǒng)實際上是在告訴我們一個關(guān)鍵信息:在當(dāng)前系統(tǒng)的 PATH 環(huán)境變量所包含的目錄中,找不到名為 pnpm 的可執(zhí)行文件。
這個錯誤與我們在 Windows 中遇到的其他命令找不到錯誤本質(zhì)相同,只是這次的主角換成了前端開發(fā)中重要的包管理工具。
深入理解 PATH 環(huán)境變量
PATH 環(huán)境變量是操作系統(tǒng)中用于指定可執(zhí)行文件搜索路徑的機制。當(dāng)我們輸入一個命令時,操作系統(tǒng)會按照 PATH 中定義的目錄順序依次查找對應(yīng)的可執(zhí)行文件。
讓我用一個實際例子來說明:假設(shè) pnpm 被安裝在 C:\Users\你的用戶名\AppData\Roaming\npm 目錄下,而這個目錄不在 PATH 中。當(dāng)你輸入 pnpm 命令時,系統(tǒng)會依次檢查 PATH 中的所有目錄:
C:\Windows\System32- 沒有 pnpmC:\Windows- 沒有 pnpmC:\Windows\System32\WindowsPowerShell\v1.0- 沒有 pnpm- … 一直檢查完所有目錄都沒有找到 pnpm
這時系統(tǒng)就會拋出我們看到的錯誤信息。
我們可以通過以下命令查看當(dāng)前的 PATH 配置:
# 在 Windows 中查看 PATH 環(huán)境變量 echo %PATH% # 在 Linux/macOS 中查看 PATH 環(huán)境變量 echo $PATH
pnpm 的多種安裝方法詳解
通過 npm 安裝 pnpm(推薦方案)
這是最常用且最可靠的安裝方法,前提是已經(jīng)安裝了 Node.js 和 npm。我在大多數(shù)項目中都推薦使用這種方式,因為它簡單直接,且與現(xiàn)有的 Node.js 生態(tài)完美集成。
檢查 Node.js 和 npm 是否已安裝
在開始安裝 pnpm 之前,我們需要確?;A(chǔ)環(huán)境已經(jīng)就緒:
# 檢查 Node.js 版本 node --version # 檢查 npm 版本 npm --version
如果以上命令都能正常執(zhí)行并顯示版本號,說明環(huán)境準備就緒。如果出現(xiàn)命令未找到的錯誤,你需要先安裝 Node.js。
這里有個小技巧:我建議使用 nvm(Node Version Manager)來管理 Node.js 版本,這樣可以輕松在不同項目間切換 Node.js 版本:
# 安裝 nvm(Windows 用戶使用 nvm-windows) # 然后安裝并使用最新的 LTS 版本 nvm install --lts nvm use --lts
通過 npm 全局安裝 pnpm
確認 Node.js 環(huán)境正常后,我們就可以安裝 pnpm 了:
# 使用 npm 全局安裝 pnpm npm install -g pnpm # 安裝完成后驗證 pnpm 版本 pnpm --version
這里我想分享一個實際工作中遇到的案例:有一次我在為一個大型企業(yè)項目配置環(huán)境時,發(fā)現(xiàn) pnpm 安裝后仍然無法使用。經(jīng)過排查,發(fā)現(xiàn)是權(quán)限問題。在 Linux/macOS 系統(tǒng)中,可能需要使用 sudo:
# 在 Linux/macOS 上可能需要使用 sudo sudo npm install -g pnpm
而在 Windows 系統(tǒng)中,如果遇到權(quán)限問題,可以用管理員身份運行命令提示符。
使用獨立腳本安裝
對于沒有安裝 Node.js 的環(huán)境,或者想要完全獨立安裝的情況,可以使用官方提供的獨立安裝腳本。這種方式特別適合在 CI/CD 環(huán)境中使用。
Windows 系統(tǒng)安裝步驟
在 Windows PowerShell 中執(zhí)行:
# 使用 PowerShell 安裝 pnpm iwr https://get.pnpm.io/install.ps1 -useb | iex
這個命令會下載安裝腳本并自動執(zhí)行。我特別喜歡這種方式的一點是,它會自動處理環(huán)境變量的配置,減少手動配置的麻煩。
Linux/macOS 系統(tǒng)安裝步驟
在終端中執(zhí)行:
# 使用 curl 安裝 curl -fsSL https://get.pnpm.io/install.sh | sh- # 或者使用 wget 安裝 wget -qO- https://get.pnpm.io/install.sh | sh-
安裝完成后,記得重新啟動終端或者重新加載 shell 配置:
# 對于 Bash source ~/.bashrc # 對于 Zsh source ~/.zshrc # 對于 Fish source ~/.config/fish/config.fish
使用系統(tǒng)包管理器安裝
不同的操作系統(tǒng)可以使用各自的包管理器安裝 pnpm,這是我個人最推薦的方式,因為能與系統(tǒng)包管理保持同步更新。
在 Windows 上使用 Chocolatey
如果你使用 Chocolatey 作為 Windows 的包管理器:
# 使用 Chocolatey 包管理器安裝 choco install pnpm # 更新 pnpm choco upgrade pnpm
在 macOS 上使用 Homebrew
對于 macOS 用戶,Homebrew 是最佳選擇:
# 使用 Homebrew 安裝 brew install pnpm # 更新 pnpm brew upgrade pnpm
在 Linux 上使用對應(yīng)發(fā)行版的包管理器
不同的 Linux 發(fā)行版有不同的包管理器:
對于基于 Debian 的系統(tǒng)(Ubuntu/Debian):
# 更新包列表 sudo apt-get update # 安裝 pnpm sudo apt-get install pnpm # 更新 pnpm sudo apt-get upgrade pnpm
對于基于 Red Hat 的系統(tǒng)(Fedora/CentOS/RHEL):
# 安裝 pnpm sudo dnf install pnpm # 更新 pnpm sudo dnf upgrade pnpm
對于 Arch Linux 用戶:
# 使用 pacman 安裝 sudo pacman -S pnpm # 更新 pnpm sudo pacman -Syu pnpm
環(huán)境變量配置的完整指南
Windows 系統(tǒng)環(huán)境變量配置詳解
在 Windows 系統(tǒng)中配置環(huán)境變量是解決 “pnpm 不是內(nèi)部或外部命令” 的最常見方法。讓我?guī)阃暾咭槐檫@個過程。
找到 pnpm 的安裝路徑
首先我們需要知道 pnpm 被安裝到了哪里:
# 查找 npm 的全局安裝路徑 npm config get prefix # 通常路徑會是: # C:\Users\你的用戶名\AppData\Roaming\npm
如果通過 npm 安裝,pnpm 的可執(zhí)行文件通常會在上述路徑的 node_modules 目錄中,或者直接在 npm 目錄下。
還有一個方法可以精確找到 pnpm 的位置:
# 在 Windows PowerShell 中查找 pnpm Get-Command pnpm | Format-List # 或者在命令提示符中 where pnpm
手動添加環(huán)境變量
現(xiàn)在我們來實際添加環(huán)境變量:
打開系統(tǒng)屬性:
- 右鍵點擊"此電腦"或"我的電腦"
- 選擇"屬性"
- 點擊"高級系統(tǒng)設(shè)置"

進入環(huán)境變量配置:
- 在"系統(tǒng)屬性"窗口中點擊"環(huán)境變量"按鈕

編輯 Path 變量:
- 在"系統(tǒng)變量"部分找到 Path 變量
- 點擊"編輯"按鈕
- 點擊"新建"
- 添加 pnpm 所在的路徑(比如:
C:\Users\你的用戶名\AppData\Roaming\npm)

保存更改:
- 點擊"確定"保存所有更改
這里有個重要的提示:有時候需要重啟命令提示符或 PowerShell,有時候甚至需要重啟電腦才能使環(huán)境變量生效。
驗證環(huán)境變量配置
重新打開命令提示符或 PowerShell,驗證配置是否生效:
# 驗證 pnpm 命令 pnpm --version # 如果還不行,可以檢查 PATH 中是否包含了我們添加的路徑 echo %PATH%
如果仍然不工作,我們可以嘗試在當(dāng)前會話中臨時添加 PATH:
# 臨時添加 PATH(只對當(dāng)前會話有效) set PATH=%PATH%;C:\Users\你的用戶名\AppData\Roaming\npm # 然后再次嘗試 pnpm --version

Linux/macOS 系統(tǒng)環(huán)境變量配置
在 Linux 和 macOS 系統(tǒng)中,環(huán)境變量的配置方式略有不同,主要取決于你使用的 shell 類型。
檢查當(dāng)前使用的 shell
首先確認你正在使用哪種 shell:
# 查看當(dāng)前使用的 shell echo $SHELL # 常見的 shell 有: # /bin/bash (Bash) # /bin/zsh (Zsh) - macOS Catalina 及之后版本的默認 shell # /bin/fish (Fish)
配置對應(yīng)的 shell 配置文件
根據(jù)不同的 shell,我們需要編輯不同的配置文件:
對于 Bash Shell:
# 檢查是否存在 ~/.bashrc 或 ~/.bash_profile ls -la ~/.bashrc ~/.bash_profile # 通常使用 ~/.bashrc echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc # 重新加載配置 source ~/.bashrc # 如果使用的是 ~/.bash_profile echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bash_profile source ~/.bash_profile
對于 Zsh Shell(macOS 默認):
# 編輯 ~/.zshrc echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc # 重新加載配置 source ~/.zshrc
對于 Fish Shell:
# 編輯 Fish 配置文件 echo 'set -gx PATH $HOME/.local/bin $PATH' >> ~/.config/fish/config.fish # 重新加載配置 source ~/.config/fish/config.fish
驗證和調(diào)試環(huán)境變量
配置完成后,我們需要驗證是否生效:
# 檢查 pnpm 版本 pnpm --version # 檢查 PATH 是否包含正確路徑 echo $PATH # 如果想要精確檢查 pnpm 的位置 which pnpm
如果仍然遇到問題,我們可以使用一些調(diào)試技巧:
# 檢查 pnpm 的安裝位置 npm list -g pnpm # 手動查找 pnpm find /usr -name "pnpm" 2>/dev/null find ~ -name "pnpm" 2>/dev/null # 檢查 shell 配置是否正確加載 cat ~/.zshrc | grep PATH
完整的實戰(zhàn)案例:從零開始搭建 React 項目
現(xiàn)在讓我們通過一個完整的實戰(zhàn)案例,演示從零開始配置 pnpm 環(huán)境并創(chuàng)建 React 項目的全過程。這個案例基于我最近為客戶搭建的一個實際項目。
環(huán)境準備和驗證
首先創(chuàng)建一個新的工作目錄,并檢查當(dāng)前環(huán)境狀態(tài):
# 創(chuàng)建項目目錄
mkdir pnpm-react-demo
cd pnpm-react-demo
# 檢查當(dāng)前 Node.js 和 npm 狀態(tài)
echo "=== 環(huán)境檢查 ==="
echo "Node.js 版本:"
node --version
echo "npm 版本:"
npm --version
echo "pnpm 狀態(tài)檢查:"
if command -v pnpm &> /dev/null; then
echo "pnpm 版本: $(pnpm --version)"
else
echo "pnpm 未安裝,開始安裝..."
fi
優(yōu)化 pnpm 配置
為了更好的管理依賴,我們可以配置 pnpm 的存儲路徑和其他優(yōu)化設(shè)置:
# 設(shè)置全局存儲路徑
pnpm config set store-dir ~/.pnpm-store
# 設(shè)置全局安裝路徑
pnpm config set global-dir ~/.pnpm-global
# 在 Linux/macOS 中,將全局二進制文件路徑添加到 PATH
if [[ "$OSTYPE" == "linux-gnu"* ]] || [[ "$OSTYPE" == "darwin"* ]]; then
echo 'export PATH="$HOME/.pnpm-global/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
echo "已配置全局 PATH"
fi
# 啟用嚴格模式(可選)
pnpm config set strict-peer-dependencies false
pnpm config set auto-install-peers true
創(chuàng)建 React 項目
現(xiàn)在使用 pnpm 創(chuàng)建一個新的 React 項目:
# 使用 pnpm 創(chuàng)建 Vite + React 應(yīng)用 echo "開始創(chuàng)建 React 項目..." pnpm create vite@latest my-react-app --template react # 進入項目目錄 cd my-react-app # 安裝項目依賴 echo "安裝項目依賴..." pnpm install # 檢查項目結(jié)構(gòu) echo "項目結(jié)構(gòu):" ls -la # 啟動開發(fā)服務(wù)器 echo "啟動開發(fā)服務(wù)器..." pnpm dev
這個過程中,pnpm 會創(chuàng)建一個標(biāo)準的 React 項目結(jié)構(gòu),并安裝所有必要的依賴。
項目配置文件詳解
讓我們查看并理解 pnpm 創(chuàng)建的項目中的重要配置文件。首先是 package.json:
{
"name": "my-react-app",
"private": true,
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "vite build",
"lint": "eslint . --ext js,jsx --report-unused-disable-directives --max-warnings 0",
"preview": "vite preview"
},
"dependencies": {
"react": "^18.2.0",
"react-dom": "^18.2.0"
},
"devDependencies": {
"@types/react": "^18.2.15",
"@types/react-dom": "^18.2.7",
"@vitejs/plugin-react": "^4.0.3",
"eslint": "^8.45.0",
"eslint-plugin-react": "^7.32.2",
"eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-react-refresh": "^0.4.3",
"vite": "^4.4.5"
}
}
創(chuàng)建 pnpm 特有的配置文件 .npmrc:
# 使用 pnpm 的嚴格模式 strict-peer-dependencies=false auto-install-peers=true # 設(shè)置鏡像源(針對中國用戶) registry=https://registry.npmmirror.com/ # 并發(fā)設(shè)置 fetch-retries=3 fetch-retry-factor=10 fetch-retry-mintimeout=60000 fetch-retry-maxtimeout=600000 # 網(wǎng)絡(luò)超時設(shè)置 timeout=300000
高級功能:pnpm 工作區(qū)配置
對于大型項目,我們可以使用 pnpm 的工作區(qū)功能來管理多個包。讓我演示如何設(shè)置一個 monorepo 項目:
# 創(chuàng)建工作區(qū)根目錄 mkdir pnpm-monorepo-demo cd pnpm-monorepo-demo # 初始化根目錄的 package.json pnpm init
編輯根目錄的 package.json:
{
"name": "pnpm-monorepo-demo",
"version": "1.0.0",
"description": "A pnpm monorepo demo",
"scripts": {
"build": "pnpm -r run build",
"test": "pnpm -r run test",
"dev": "pnpm -r --parallel run dev",
"clean": "pnpm -r run clean",
"lint": "pnpm -r run lint"
},
"devDependencies": {
"typescript": "^5.0.2",
"@types/node": "^18.0.0"
},
"keywords": ["monorepo", "pnpm", "workspace"],
"author": "Your Name",
"license": "MIT"
}
創(chuàng)建 pnpm-workspace.yaml 文件定義工作區(qū):
packages: # 所有在 packages/ 和 apps/ 子目錄中的包 - 'packages/**' - 'apps/**' # 排除在 test 目錄中的包 - '!**/test/**'
創(chuàng)建項目結(jié)構(gòu):
# 創(chuàng)建目錄結(jié)構(gòu) mkdir packages mkdir apps mkdir packages/utils mkdir packages/shared-components mkdir apps/web-app mkdir apps/admin-app # 初始化各個子包 cd packages/utils && pnpm init cd ../shared-components && pnpm init cd ../../apps/web-app && pnpm init cd ../admin-app && pnpm init cd ../..
為每個子包創(chuàng)建基本的 package.json,以 packages/utils/package.json 為例:
{
"name": "@monorepo/utils",
"version": "1.0.0",
"description": "Utility functions for the monorepo",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"scripts": {
"build": "tsc",
"dev": "tsc --watch",
"clean": "rm -rf dist",
"lint": "eslint src/**/*.ts"
},
"devDependencies": {
"typescript": "^5.0.2"
}
}
工作區(qū)依賴管理實戰(zhàn)
在工作區(qū)中管理依賴是 pnpm 最強大的功能之一:
# 在根目錄為所有包安裝共享依賴 pnpm add -wD typescript @types/node eslint # 為特定包安裝依賴 pnpm add react --filter @monorepo/web-app pnpm add react-dom --filter @monorepo/web-app # 在工作區(qū)內(nèi)安裝本地包作為依賴 pnpm add @monorepo/utils --filter @monorepo/web-app --workspace pnpm add @monorepo/shared-components --filter @monorepo/web-app --workspace # 安裝所有包的依賴 pnpm install # 查看工作區(qū)依賴樹 pnpm list -r
創(chuàng)建 TypeScript 配置文件 tsconfig.json 在根目錄:
{
"compilerOptions": {
"target": "ES2020",
"module": "ESNext",
"moduleResolution": "node",
"esModuleInterop": true,
"strict": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"declaration": true,
"outDir": "dist",
"rootDir": "src",
"baseUrl": ".",
"paths": {
"@monorepo/utils": ["packages/utils/src"],
"@monorepo/shared-components": ["packages/shared-components/src"]
}
},
"include": ["packages/**/src", "apps/**/src"],
"exclude": ["node_modules", "dist"]
}
高級配置和性能優(yōu)化
配置鏡像源加速下載
為了提高安裝速度,特別是在國內(nèi)網(wǎng)絡(luò)環(huán)境下,配置鏡像源非常重要:
# 設(shè)置 npm 鏡像源 pnpm config set registry https://registry.npmmirror.com/ # 設(shè)置 node-gyp 鏡像(針對需要編譯的包) pnpm config set node_gyp_mirror https://npmmirror.com/mirrors/node-gyp/ # 設(shè)置 Electron 鏡像 pnpm config set electron_mirror https://npmmirror.com/mirrors/electron/ # 查看所有配置 pnpm config list
性能優(yōu)化配置
創(chuàng)建項目級的 .npmrc 文件進行高級性能配置:
# 網(wǎng)絡(luò)配置 fetch-retries=5 fetch-retry-factor=2 fetch-retry-mintimeout=10000 fetch-retry-maxtimeout=60000 timeout=300000 # 并發(fā)配置 network-concurrency=16 child-concurrency=8 # 緩存配置 prefer-offline=true use-store-server=true # 日志配置 loglevel=warn progress=false # 安全配置 ignore-scripts=false strict-ssl=true
使用 pnpm 的鉤子腳本
在 package.json 中添加 pnpm 特有的鉤子腳本可以自動化很多流程:
{
"scripts": {
"preinstall": "echo '開始安裝依賴...' && node scripts/preinstall.js",
"postinstall": "echo '依賴安裝完成!' && node scripts/postinstall.js",
"prebuild": "pnpm run lint",
"postbuild": "node scripts/analyze-bundle.js",
"dev": "vite",
"build": "vite build",
"lint": "eslint . --ext js,jsx,ts,tsx",
"type-check": "tsc --noEmit"
},
"pnpm": {
"overrides": {
"react": "^18.2.0",
"react-dom": "^18.2.0",
"typescript": "^5.0.2"
},
"peerDependencyRules": {
"ignoreMissing": ["react", "react-dom"]
}
}
}
創(chuàng)建相應(yīng)的腳本文件 scripts/preinstall.js:
#!/usr/bin/env node
const fs = require('fs');
const path = require('path');
console.log('?? 運行預(yù)安裝檢查...');
// 檢查 Node.js 版本
const requiredVersion = '16.0.0';
const currentVersion = process.version.slice(1);
function compareVersions(a, b) {
const aParts = a.split('.').map(Number);
const bParts = b.split('.').map(Number);
for (let i = 0; i < 3; i++) {
if (aParts[i] > bParts[i]) return 1;
if (aParts[i] < bParts[i]) return -1;
}
return 0;
}
if (compareVersions(currentVersion, requiredVersion) < 0) {
console.error(`? Node.js 版本過低,需要 ${requiredVersion} 或更高版本`);
process.exit(1);
}
console.log('? Node.js 版本檢查通過');
console.log('? 預(yù)安裝檢查完成');
故障排除和常見問題解決
在實際工作中,我們可能會遇到各種問題。這里分享一些常見問題的解決方案:
問題1:pnpm 命令找到但是執(zhí)行報錯
# 如果出現(xiàn)權(quán)限錯誤 pnpm store path # 檢查存儲路徑權(quán)限 sudo chown -R $(whoami) ~/.pnpm-store # 或者重新修復(fù)存儲 pnpm store prune
問題2:依賴安裝失敗
# 清除緩存并重新安裝 pnpm store prune rm -rf node_modules pnpm install # 或者使用離線模式 pnpm install --offline
問題3:工作區(qū)依賴解析問題
# 更新所有工作區(qū)包 pnpm -r update # 檢查依賴沖突 pnpm list --depth=10 # 解決 peer dependencies 問題 pnpm install --strict-peer-dependencies=false
總結(jié)
通過本文的詳細講解,相信你已經(jīng)對 “pnpm 不是內(nèi)部或外部命令” 這個錯誤有了全面的理解,并掌握了從安裝配置到高級使用的完整技能。pnpm 作為一個現(xiàn)代化的包管理器,確實能為我們的開發(fā)工作流帶來顯著的效率提升。
記住,環(huán)境配置問題雖然令人煩惱,但一旦理解其工作原理,解決起來就會得心應(yīng)手。pnpm 的強大功能,特別是其工作區(qū)支持和高效的依賴管理,使其成為現(xiàn)代前端開發(fā)中不可或缺的工具。
希望這篇文章能幫助你順利解決 pnpm 環(huán)境配置問題,并在日常開發(fā)中充分發(fā)揮 pnpm 的優(yōu)勢!
以上就是“pnpm不是內(nèi)部或外部命令” 錯誤的完整解決方案的詳細內(nèi)容,更多關(guān)于pnpm不是內(nèi)部或外部命令的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
javascript設(shè)計模式之中介者模式Mediator
這篇文章主要介紹了javascript設(shè)計模式之中介者模式Mediator,需要的朋友可以參考下2014-12-12
JavaScript 異步調(diào)用框架 (Part 2 - 用例設(shè)計)
在上一篇文章里說到,我們要設(shè)計一個異步調(diào)用框架,最好能夠統(tǒng)一同步異步調(diào)用的接口,同時具體調(diào)用順序與實現(xiàn)方式無關(guān)。那么我們現(xiàn)在就來設(shè)計這樣一個框架的用例。2009-08-08
JS使用setInterval實現(xiàn)的簡單計時器功能示例
這篇文章主要介紹了JS使用setInterval實現(xiàn)的簡單計時器功能,涉及javascript基于setInterval的定時觸發(fā)與數(shù)值運算相關(guān)操作技巧,需要的朋友可以參考下2018-04-04
IE6/7/8/9中Table/Select的innerHTML不能賦值的解決方法
IE6/7/8/9中Table/Select的innerHTML不能賦值的解決方法,需要的朋友可以參考下。2011-04-04
讓getElementsByName適應(yīng)IE和firefox的方法
讓getElementsByName適應(yīng)IE和firefox的方法...2007-09-09
javascript中刪除指定數(shù)組中指定的元素的代碼
已知一個數(shù)組,我們想用指定的方法對數(shù)組中的元素進行逐一操作。需要的朋友可以參考下。2011-02-02

