2017-11-22 12 views
3

プラグインSyntaxHighlighter v4を使用しようとしていますが、ビルドプロセスが動作しません!syntaxhighlighter - ビルド:loadReposFromCache(...)。エラーは関数ではありません

指示here後、私は次のエラーを取得する:

$ ./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')を交換する、それがあなたのビルド苦境のちょうどスタートだ...

私はとにかく追跡プロジェクトの問題にこれを追加しましたが、ここに私がbuiidにそれを得るためにしたものがあります: https://github.com/karljacuncha/syntaxhighlighter/commit/dc015fa299d4d249e8518664e205a838c55372cf

関連する問題