2016-11-29 4 views
4

私はGitHub上でnpmパッケージをforkして変更を加え、GitHubから直接Meteorアプリケーションにパッケージをインストールしたいと思っています。GitHub for MeteorからNPMパッケージをインストールするには?

マイpackage.jsonはそうのようになります。

{ 
    "dependencies": {  
    "semantic-ui-react": "git+https://[email protected]/nolandg/Semantic-UI-React.git", 
    } 
} 

私はその後、正常に動作するように見える、それがパッケージをインストールしています私に語った

meteor npm install 

を実行します。

[email protected] (git+https://[email protected]/nolandg/Semantic-UI-React.git#f27d5c736e5de1eed0acf7769f18caee57578526) 

そして、実際にはパッケージはnode_modulesフォルダに表示されます。私は私の流星アプリを起動しようとする。しかし、私はこのエラーを取得する:

Cannot set property '/my-website/node_modules/semantic-ui-react/package.json' of undefined 

at Resolver._resolvePkgJsonMain (/tools/isobuild/resolver.js:320:9) 

は、誰もが成功のGitHubから直接流星のアプリでNPMパッケージをインストールしていますか?私はこれを理解することはできません。ありがとう!

流星のバージョン:1.4.2.3

+0

は、あなたGitHubのフォークからNPMパッケージを得ることにすべての問題があるべきではありませんあなたは正しい道である記述は何。そうする。あなたはたぶんどこかにエラーがあるか、あなたのフォークのコードにあるでしょう。 – ghybs

+0

私はあきらめました。メテオのビルドチェーンには何か不調なことがあったでしょうか? npmはパッケージをインストールしますが、Meteorリゾルバはパッケージを見つけられません。 :-( – Noland

答えて

3

gitからフェッチするときにパッケージが動作しない主な理由は、そのように動作するように構成されていないためです。これは流星特有の問題ではなく、JSの開発者が時折直面するかもしれない問題です。

  • package.jsonでホワイトリストfilesフィールドのみsrcdistフォルダが含まれています

    は、この特定のケースでは2つの問題があります。つまり、npmでフェッチすると、コードをビルドするのに必要なほとんどすべての設定ファイルがなくなります。

  • このパッケージのコードは、コードを操作するために作成する必要があります。これは、作者がnpmに公開するときに行われますが、githubから直接取り出して、このステップを元に戻します。

すでにfolkedとパッケージを変更しているので、とても以下のようにpackage.jsonを変更してみましょう、(私はあなたにいくつかの説明を与えるためにそれらを追加すべてのコメントを削除します)githubのにプッシュし、NPMによって再びそれをフェッチ:

// remove the "files" field 
// ... 
"scripts": { 
    // this script is used to build the package 
    "postinstall": "postinstall-build dist \"npm run build:commonjs\"" 
    // ... 
}, 
"dependencies": { 
    // this helps build the package 
    "postinstall-build": "^2.1.3" 
}, 
// ... 
0

パッケージは、通常、githubのからインストールされていないが、それらはパッケージの多くのバージョンが利用可能であることを、あなたが取得しているいずれかを選択できることを意味し、公開されています。あなたがしていることが可能かどうかは分かりませんが、確かにそれはお勧めできません。

githubパッケージを変更したい場合は、ローカルマシンにダウンロードしてnpmリンクを実行して、npmのパッケージではなくローカルパッケージを使用するようにします。詳細については、https://docs.npmjs.com/cli/link

0

なぜ簡単なコマンドを使用しないのですか?

meteor npm install https://github.com/nolandg/Semantic-UI-React.git 

私がやった:

meteor create test 
    cd test 
    meteor npm install 
    meteor add react react-dom 
    meteor npm install https://github.com/nolandg/Semantic-UI-React.git 
    meteor 

し、エラー( - :

+0

私はこれが私のために働くことを望む... – Noland

関連する問題