0からsinopiaを使用してプライベートnpm倉庫を構築する.
4594 ワード
業務安全のために必要な様々な理由で、プラグインを公共のnpm倉庫に公開することができません.だから自分のプライベートnpm倉庫を構築しなければなりません.最近自分で簡単なnpm倉庫を作って、穴を踏んで、皆さんと共有して、必要な子供靴があります.
今回はsinopiaを使って0からnpm倉庫を作ります.細かい話をします.うるさい子供靴は自分の必要なものだけを見てもいいです.
サーバ端
nodejsとnpmをインストールします
私のlinuxサーバーはcentosですので、ここではcentosにnodeをインストールする環境について話しています.
1.wgetを取り付ける
nodejsの公式サイトで最新のダウンロードアドレスを見つけることができます.
ポイントは、あなたのnodejsのファイルパスを見つけることです.nodeファイルをどこに解凍したらいいですか?)、nodeパスが見つからない子供靴は実行してください.
sinopia取り付け
nodeをインストールしてから、私達はサーバーで直接sinopiaをインストールできます.
nodeサービスは非常に脆いです.一般的に実際に使うと、守ってくれるプロセスに合わせて使います.ここでは私が使っているのはpm 2の守護プロセスです.
インストール
デフォルトでは、sinopiaの構成は直接的に使うには適していませんので、必要に応じてその構成ファイルを変更する必要があります.
上に述べたプロファイルのディレクトリを見つけて、プロファイルを開いて編集します.
アクセス
自分のコンピュータブラウザにサーバーのipアドレス+ポート番号を入力してください.ポート番号はデフォルトで4873です.
eg:192.186.1.3.43:4873
ここに来て、私達は成功して自分のサーバーの上で私達の私有のnpmを構築することができます.
今回はsinopiaを使って0からnpm倉庫を作ります.細かい話をします.うるさい子供靴は自分の必要なものだけを見てもいいです.
サーバ端
nodejsとnpmをインストールします
私のlinuxサーバーはcentosですので、ここではcentosにnodeをインストールする環境について話しています.
1.wgetを取り付ける
yum install -y wget
2.最新のnodeカバンをダウンロードするnodejsの公式サイトで最新のダウンロードアドレスを見つけることができます.
wget https://nodejs.org/en/download/node-v10.15.0-linux-x64.tar.xz
解凍インストールパッケージxz -d node-v10.15.0-linux-x64.tar.xz
tar -xf node-v10.15.0-linux-x64.tar.xz
配置ビンファイルポイントは、あなたのnodejsのファイルパスを見つけることです.nodeファイルをどこに解凍したらいいですか?)、nodeパスが見つからない子供靴は実行してください.
whereis node
そして実行しますln -s node /usr/bin/node
ln -s node /usr/bin/npm
eg:
// node /opt/node-v10.15.0-linux-x64/bin/node
ln -s /opt/node-v10.15.0-linux-x64/bin/node /usr/bin/node
ln -s /opt/node-v10.15.0-linux-x64/bin/node /usr/bin/npm
出現したらln: failed to create symbolic link ‘/usr/bin/node’: File exists
:rm /usr/bin/node
インストールが成功したかどうかを確認します.node -v
npm -v
npm倉庫を構築するsinopia取り付け
nodeをインストールしてから、私達はサーバーで直接sinopiaをインストールできます.
npm install -g sinopia
インストールしたら起動してみてもいいです.sinopia
次のような結果が出たら成功して走るということです.この時に開けます.http://localhost:4873/訪問しましたSinopia doesn't need superuser privileges. Don't run it under root.
warn --- config file - /root/.config/sinopia/config.yaml
warn --- http address - http://localhost:4873/
sinopiaを申し込む場合:command not found、関連付けを追加してください.あなたのsinopiaパスを見つけます.(このパスは前のnodeパスのサブディレクトリの中にあります.)ln -s /opt/node-v10.15.0-linux-x64/bin/sinopia /usr/bin
pm 2nodeサービスは非常に脆いです.一般的に実際に使うと、守ってくれるプロセスに合わせて使います.ここでは私が使っているのはpm 2の守護プロセスです.
インストール
npm install -g pm2
pm2 -v
pm 2:command not foundが現れたら、sinopiaの方法と同じです.ln -s /opt/node-v10.15.0-linux-x64/bin/pm2 /usr/bin
PM 2を介してSinopiaを起動します.pm2 start `which sinopia`
:
┌─────────┬────┬──────┬────────┬────────┬─────┬────────┬───────────┐
│ Name │ id │ mode │ status │ ↺ │ cpu │ memory │
├─────────┼────┼──────┼────────┼────────┼─────┼────────┼───────────┤
│ sinopia │ 0 │ N/A │ fork │ online │ 0 │ 0% │ 16.7 MB │
└─────────┴────┴──────┴────────┴────────┴─────┴────────┴───────────┘
sinopia配置変更デフォルトでは、sinopiaの構成は直接的に使うには適していませんので、必要に応じてその構成ファイルを変更する必要があります.
上に述べたプロファイルのディレクトリを見つけて、プロファイルを開いて編集します.
#
# This is the default config file. It allows all users to do anything,
# so don't use it on production systems.
#
# Look here for more config file examples:
# https://github.com/rlidwka/sinopia/tree/master/conf
#
# path to a directory with all packages
storage: ./storage #npm
auth:
htpasswd:
file: ./htpasswd #
# Maximum amount of users allowed to register, defaults to "+inf".
# You can set this to -1 to disable registration.
max_users: -1 # 1000, -1,
# a list of other known repositories we can talk to
uplinks:
npmjs:
url: http://registry.npm.taobao.org/ # npm , , url sinopia npm
packages: #
'@*/*':
# scoped packages
access: $all # 【$all ,$authenticated ,$anonymous ( )】
publish: $authenticated #
'*':
# allow all users (including non-authenticated users) to read and
# publish all packages
#
# you can specify usernames/groupnames (depending on your auth plugin)
# and three keywords: "$all", "$anonymous", "$authenticated"
access: $all #
# allow all known users to publish packages
# (anyone can register by default, remember?)
publish: $authenticated #
# if package is not available locally, proxy requests to 'npmjs' registry
proxy: npmjs # , uplinks
# log settings
logs:
- {type: stdout, format: pretty, level: http}
#- {type: file, path: sinopia.log, level: info}
# you can specify listen address (or simply a port)
listen: 0.0.0.0:4873 # , ,
==listen:0.0.0.0:4873この本は必ずプラスしてください.サーバーの4873のポートを開放してください.アクセス
自分のコンピュータブラウザにサーバーのipアドレス+ポート番号を入力してください.ポート番号はデフォルトで4873です.
eg:192.186.1.3.43:4873
ここに来て、私達は成功して自分のサーバーの上で私達の私有のnpmを構築することができます.