2017-11-22 1 views
3

플러그인을 사용하려고하는데 SyntaxHighlighter v4, 빌드 프로세스가 작동하지 않습니다! 지침 here에 따라syntaxhighlighter - Building : loadReposFromCache (...). 오류가 함수가 아닙니다.

, 나는 다음과 같은 오류가 발생합니다 :

$ ./node_modules/gulp/bin/gulp.js setup-project 
[10:12:20] Requiring external module babel-register 
[10:12:20] Using gulpfile C:\git\syntaxhighlighter\gulpfile.babel.js 
[10:12:20] Starting 'setup-project:clone-repos'... 
[10:12:20] 'setup-project:clone-repos' errored after 1.96 ms 
[10:12:20] TypeError: loadReposFromCache(...).error is not a function 
    at loadRepos (C:/git/syntaxhighlighter/build/setup-project.js:39:48) 
    at Gulp.<anonymous> (C:/git/syntaxhighlighter/build/setup-project.js:48:5) 
    at module.exports (C:\git\syntaxhighlighter\node_modules\orchestrator\lib\runTask.js:34:7) 
    at Gulp.Orchestrator._runTask (C:\git\syntaxhighlighter\node_modules\orchestrator\index.js:273:3) 
    at Gulp.Orchestrator._runStep (C:\git\syntaxhighlighter\node_modules\orchestrator\index.js:214:10) 
    at Gulp.Orchestrator.start (C:\git\syntaxhighlighter\node_modules\orchestrator\index.js:134:8) 
    at C:\git\syntaxhighlighter\node_modules\gulp\bin\gulp.js:129:20 
    at _combinedTickCallback (internal/process/next_tick.js:67:7) 
    at process._tickCallback (internal/process/next_tick.js:98:9) 
    at Module.runMain (module.js:606:11) 
(node:2532) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: ENOENT: no such file or directory, open 'C:\git\syntaxhighlighter\.projects-cache.json' 

그것은 /repos/ 디렉토리에 GitHub의 저장소 파일 가져 오기되지 않을 것 같다. 어떻게 든 수동으로이 작업을 수행 할 수 있습니까? 이걸 만들 수있는 또 다른 방법이 있나요? 또는 v3과 같은 내장 파일을 찾으십시오. 여기

는 우리가 보는 역 추적 build/setup-project.js

gulp.task('setup-project:clone-repos', 'Clones all repositories from 
    SyntaxHighlighter GitHub organization',() => 
    loadRepos() 
     .then(R.filter(repo => !fs.existsSync(pathToRepo(repo)))) 
     .then(R.filter(repo => repo.name !== 'syntaxhighlighter')) 
     .then(R.map(R.curry(cloneRepo))) 
     .then(Promise.all) 
); 

에 실패한 것 기능입니다 :

해당 프로젝트의 빌드 코드에 문제가 몇 있습니다
const loadReposFromCache =() => fs.readFile.promise(REPOS_CACHE, 'utf8').then(JSON.parse); 
const loadRepos =() => loadReposFromCache().error(loadReposFromGitHub).then(R.map(R.pick(['clone_url', 'name']))); 

function loadReposFromGitHub() { 
    const request = require('request'); 

    const opts = { 
    url: 'https://api.github.com/orgs/syntaxhighlighter/repos?per_page=300', 
    json: true, 
    headers: { 'User-Agent': 'node.js' }, 
    }; 

    return new Promise((resolve, reject) => 
    request(opts, (err, response) => { 
     if (err) return reject(err); 
     const json = response.body; 
     fs.writeFile(REPOS_CACHE, JSON.stringify(json, null, 2)); 
     resolve(json); 
    }) 
); 
} 
+0

수정 사항을 찾았습니까? 나는 같은 문제에 직면하고있다. 감사. – vaibhav

+0

@vaibhav 방금 다른 플러그인을 사용했습니다. Prism.js는 잘 작동합니다. – mhatch

+0

나는 같은 일을 끝냈다 :) – vaibhav

답변

0

.

Bluebird 약속의 Songbird 래퍼가 더 이상 일치하지 않는 것처럼 보입니다. 따라서 ".error는 함수가 아닙니다."(bluebird에서는 괜찮 았지만).

그래서 .catch.error를 교체하거나 어느 경우 require('bluebird')

require('songbird') 교체, 그게 내가 프로젝트의 문제는 어쨌든 추적이를 추가 한

빌드 불황의 시작에 불과 ...하지만 여기에 제가 부채로 얻으려고 한 것이 있습니다 : https://github.com/karljacuncha/syntaxhighlighter/commit/dc015fa299d4d249e8518664e205a838c55372cf

관련 문제