2016-10-17 8 views
0

SoftHSM2と対話するために、graphene-pk11ノードjsモジュールをインストールしようとしています。私は、ノードv4.6.0およびNPMを使用してい2.15.9ノードモジュール 'graphene-pk11'をインストールできない

私は、コマンドNPM install graphene-pk11を実行すると、私は複数のフォーラムに見上げるとランニングのような解決策/回避策の多くを試してみましたエラーenoent ENOENT: no such file or directory, chmod '/home/lzuniga/development/HsmTest/node_modules/graphene-pk11/build/console/console.js'を取得npm cache cleanまたはnode_modulesフォルダを削除してください。

私も、私は私のapp.jsファイル上で、その後、github's repoからグラフェンのソースをダウンロードしてthis questionにneebzとtheprogrammerの答えで述べたように、それを使用しようとしました(私のプロジェクトフォルダ内node_modulesフォルダを作成し、そこにグラフェンソースフォルダを置きます追加var graphene = require("graphene-pk11");)、エラーはCannot find module 'graphene-pk11'

npmの問題でなければなりませんが、このモジュールには問題がある可能性があります。 ..

編集 私は私がダウンロードしたグラフェンのプロジェクトディレクトリ内npm installを実行し、node_modulesディレクトリにコピーした場合、私は次のような出力が得られます。

$ npm install 
npm WARN package.json [email protected] No bin file found at ./build/console/console.js 
npm WARN deprecated [email protected]: Install [email protected] instead 

> [email protected] install /home/lzuniga/development/HsmTest/node_modules/graphene/node_modules/pkcs11js 
> node-gyp rebuild 

make: Entering directory `/home/lzuniga/development/HsmTest/node_modules/graphene/node_modules/pkcs11js/build' 
    CXX(target) Release/obj.target/pkcs11/src/main.o 
    CXX(target) Release/obj.target/pkcs11/src/dl.o 
    CXX(target) Release/obj.target/pkcs11/src/const.o 
    CXX(target) Release/obj.target/pkcs11/src/pkcs11/error.o 
    CXX(target) Release/obj.target/pkcs11/src/pkcs11/v8_convert.o 
    CXX(target) Release/obj.target/pkcs11/src/pkcs11/template.o 
    CXX(target) Release/obj.target/pkcs11/src/pkcs11/mech.o 
../src/pkcs11/mech.cpp: In member function ‘void Mechanism::Free()’: 
../src/pkcs11/mech.cpp:121:15: warning: deleting ‘void*’ is undefined [enabled by default] 
    CXX(target) Release/obj.target/pkcs11/src/pkcs11/param.o 
    CXX(target) Release/obj.target/pkcs11/src/pkcs11/param_aes.o 
    CXX(target) Release/obj.target/pkcs11/src/pkcs11/param_rsa.o 
    CXX(target) Release/obj.target/pkcs11/src/pkcs11/param_ecdh.o 
    CXX(target) Release/obj.target/pkcs11/src/pkcs11/pkcs11.o 
    CXX(target) Release/obj.target/pkcs11/src/async.o 
    CXX(target) Release/obj.target/pkcs11/src/node.o 
    SOLINK_MODULE(target) Release/obj.target/pkcs11.node 
    COPY Release/pkcs11.node 
make: Leaving directory `/home/lzuniga/development/HsmTest/node_modules/graphene/node_modules/pkcs11js/build' 
npm WARN engine [email protected]: wanted: {"node":">=5"} (current: {"node":"4.6.0","npm":"2.15.9"}) 
npm WARN engine [email protected]: wanted: {"node":">=5"} (current: {"node":"4.6.0","npm":"2.15.9"}) 
npm WARN engine [email protected]: wanted: {"node":">=5"} (current: {"node":"4.6.0","npm":"2.15.9"}) 
npm ERR! Linux 3.2.0-4-amd64 
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install" 
npm ERR! node v4.6.0 
npm ERR! npm v2.15.9 
npm ERR! path /home/lzuniga/development/HsmTest/node_modules/graphene/build/console/console.js 
npm ERR! code ENOENT 
npm ERR! errno -2 
npm ERR! syscall chmod 

npm ERR! enoent ENOENT: no such file or directory, chmod '/home/lzuniga/development/HsmTest/node_modules/graphene/build/console/console.js' 
npm ERR! enoent This is most likely not a problem with npm itself 
npm ERR! enoent and is related to npm not being able to find a file. 
npm ERR! enoent 

npm ERR! Please include the following file with any support request: 
npm ERR!  /home/lzuniga/development/HsmTest/node_modules/graphene/npm-debug.log 
+0

'/ path-to-project/node_modules/graphene-pk11/build/console/console.js'というエラーメッセージが表示されますか?あなたのルートに 'path-to-project'というフォルダがなければ、それは失敗するでしょう。おそらく、あなたが使っている実際のコマンドを表示する必要があります。 – Qix

+0

いいえ、混乱を避けるために、実際のパスに変更しました。 – myrmix

+0

このライブラリの作者は、これを見ました。あなたはまだ問題がありますか?もしそうなら、どんな方法でも喜んでレポにバグを報告してください。 – rmhrisk

答えて

0

そのNPMに公開に問題があるようです。問題は、npm install graphene-pk11の実行時に、package.jsonが探している次のファイルが存在しないことです。

"bin": { 
    "graphene": "./build/console/console.js" 
    }, 

自分で新しいディレクトリにインストールしようとしましたが、同じ問題がありました。

ソースコードを複製する場合に使用できます。クローン作成後、grapheneと呼ばれるプロジェクトディレクトリに移動します。グラフェンプロジェクト内でnpm installを実行します。 には、"postinstall": "npm run build",という行に、必要な依存関係をすべてインストールした後にビルドプロセスが自動的に実行されるという行があります。

次のようにあなたのnode_modulesにソースコードをクローン化されたと仮定すると、あなたはモジュールにアクセスすることができますが:あなたがソースコードを使用しようとしていた

var graphene = require('graphene'); 

問題は、npm install、あなたを実行していなかったということでしたgrapheneではなくgraphene-pk11を要求しようとしていました。

ここではgrapheneが必要です。node_modules内のディレクトリ名がgrapheneであるか、少なくともソースをクローンしたときのディレクトリ名です。 node_modulesのプロジェクトディレクトリの名前を常にgraphene-pk11に変更すると、graphene-pk11が必要になります。私は自分のコンピュータでこれを試してみました。問題がある場合は教えてください。

これは一時的な修正です。コードを使用するためにこれを行う必要はありません。私はあなたであれば、私はギターに問題をオープンします。彼らのpackage.jsonはまた"prepublish": "npm run build",と言っています。これはnpmに公開する前にビルドプロセスを実行する必要がありますが、何らかの理由でうまくいきませんでした。

+0

はい、プロジェクトディレクトリはgrapheneと呼ばれていますが、そのディレクトリに 'npm install'を実行しましたが、同じ問題があり、console.jsファイルが存在しません。これは出力の一部です: 'npm ERR! argv "/ usr/bin/nodejs" "/ usr/bin/npm" "install" npm ERR!ノードv4.6.0 npm ERR! npm v2.15.9 npm ERR!パス/home/lzuniga/development/HsmTest/node_modules/graphene/build/console/console.js npm ERR!コードENOENT npm ERR!エラー番号-2 npm ERR!システムコールchmod npm ERR! enoent:そのようなファイルやディレクトリはありません、chmod '/ home/lzuniga/development/HsmTest/node_modules/graphene/build/console/console.js' – myrmix

+0

私は既にプロジェクトディレクトリ "graphene-pk11"の名前を変更してみましたpackage.jsonのnameプロパティと一致します – myrmix

関連する問題