2017-03-27 9 views
4

私はnpm ...を常に私のプロジェクトのサブフォルダのコンテキストで実行したいと思っています: "./assets"。私は、プロジェクトのルートからこのコマンドを実行するとnpm - プロジェクト固有の既定のプレフィックス/パスを設定する

は、それが期待通りに動作します。

$ npm --prefix ./assets install 

しかし、それはルートフォルダに.npmrcからこれを読んでいません。

$ echo "prefix=./assets" > .npmrc 
$ npm i 
# creates an empty ./node_modules folder 

npmコマンドのプロジェクト固有のデフォルトのプレフィックスを設定するにはどうすればよいですか?

+3

この明らかなバグhttps://github.com/npm/npm/issues/8036に公開されている問題があります。しかし、それはグローバルインストール(npm i -g)に関するコメントで終了しました。私はその問題に対処したかどうかはわかりません。 'npm config get prefix'を実行すると、$ {PROJECT} /。npmrcに定義された接頭辞の値が表示されます。しかし、「npm i」はまだnode_modulesにインストールされます。しかし--prefixを渡すと、指定されたサブディレクトリにインストールされます。 – andrunix

+0

まだNPM 5.0.3で修正されていません – DutchKevv

答えて

-1

npmをグローバルにインストールした場合は、特定のフォルダに設定するようにprefixを設定して、他のノードモジュールをそのフォルダにインストールすることができます。以下は接頭辞を設定するコマンドです。

NPMコンフィグセットのプレフィックス/Programming/node-v0.10.31-linux-x64/

ここで私は、このフォルダおよびノー​​ドモジュールがインストールされるノードv0.10.31-のlinux-x64の中でノードを構成しています。個別

または

あなたが特定のフォルダのノードモジュールをインストールしたい場合には、可能なユーザは、次のコマンド

NPM亭-g --prefix /Programming/node-v0.10.31-linux-x64/をインストール

+0

ありがとうございます。@オサンダーですが、特定のルートフォルダーのプレフィックスを指定する必要がない方法を探しています。つまり、あなたの例では、 '--prefix'を指定せずにbowerをインストールし、常に正しい相対的なフォルダ(例えば、'。/ assets')にインストールすることができるようにしたいのです。 – steel

関連する問題