We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/proofmath-owner/ai-filesystem-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server
build-troubleshooting.md•2.51 kB
# Shell Execution Command - 빌드 문제 해결
## 빌드 에러 수정 내역
### 1. **Babel 관련 import 문제**
- `@babel/traverse`와 `@babel/generator`의 TypeScript 타입 문제
- **해결책**: `require`를 사용하여 CommonJS 방식으로 import
```typescript
const traverse = require('@babel/traverse').default;
const generate = require('@babel/generator').default;
```
### 2. **타입 정의 추가**
- `command-exists` 모듈 타입 정의 파일 생성
- Babel 관련 타입 정의 파일 생성
- **위치**: `src/types/` 디렉토리
### 3. **인터페이스 구현 누락**
- `CodeAnalysisService`에 `analyzeQuality` 메서드 추가
- 코드 품질 분석 기능 구현 (복잡도, 유지보수성)
### 4. **TypeScript 설정 개선**
- `tsconfig.json`에 `allowSyntheticDefaultImports` 추가
- CommonJS 모듈과의 호환성 향상
### 5. **타입 문제 해결**
- glob 반환값 타입 캐스팅
- crypto GCM 모드 메서드 타입 캐스팅
- execa 옵션 타입 문제 해결
## 설치 및 빌드 절차
```bash
# 1. 전체 설치 및 빌드
cd /Users/sangbinna/mcp/ai-filesystem-mcp
./scripts/full-install.sh
# 2. 빌드만 실행
npm run build
# 3. 테스트 실행
npm run test:shell
```
## 남은 작업
### 즉시 해결 가능
1. Babel 타입 문제가 계속 발생하면 `@types/babel__traverse`와 `@types/babel__generator` 버전 확인
2. `skipLibCheck: true`가 설정되어 있으므로 대부분의 타입 문제는 무시됨
### 권장 사항
1. **의존성 업데이트**: 최신 버전의 Babel 패키지 사용
2. **타입 안정성**: 점진적으로 `any` 타입을 구체적인 타입으로 교체
3. **테스트 커버리지**: 모든 보안 시나리오에 대한 테스트 추가
## 빌드 성공 확인 방법
빌드가 성공하면 다음 파일들이 생성됩니다:
- `dist/commands/implementations/security/ExecuteShellCommand.js`
- `dist/core/services/security/ShellExecutionService.js`
- `dist/core/services/security/CommandValidator.js`
- `dist/core/interfaces/IShellService.js`
## 문제 발생 시 대처법
1. **node_modules 재설치**
```bash
rm -rf node_modules package-lock.json
npm install
```
2. **TypeScript 캐시 삭제**
```bash
rm -rf dist
tsc --build --clean
```
3. **Babel 패키지 직접 설치**
```bash
npm install --save-dev @babel/core @babel/parser @babel/traverse @babel/generator @babel/types
```
이제 터미널에서 `./scripts/full-install.sh`를 실행하여 프로젝트를 빌드하세요!