pm 2+sinopiaを使用して、ローカルnpm私有倉庫を構築する.
5110 ワード
背景を構築するたびに、静的リソースの構築にかかる時間は基本的に半時間であり、私有倉庫を利用して構築速度を向上させることができるかどうか. は内部の公共js libを抜き出して公開して共用することができます. 準備については、説明できない権限を持つマシンの一つです. nodejsです gccとその関連(nodejs依存). pm 2(node appモニタ再起動). sinopia(プライベートリポジトリap、nexusのような). 構築ステップ
nodejsをインストールします
binaryをダウンロードして、tarコマンドで解凍して環境変数を追加します.
その後、分岐1: 分岐2:出力バージョン番号. gccアップグレード(代替)
gccをダウンロードして、ストレスを解消して、依存を調べます.ここの下の4.9.4は全部で前のバージョンは4です.大きなバージョンにまたがって卵にならないようにします.
ISSUE:インストール中にzlibが不足しています.自分でダウンロード、解凍、
バックアップ前の
私有倉庫を建てる
イントラネットは代理店と接続して登録センターを設置する必要があります.ここはネットの代理のnexusにつながります.初期:最終的に構築されたプロジェクトは、平均的にaut package.batが24分間かかります. プロジェクトの構築時間は最初の1つに繰り上げられます.平均aut package.batは18分間かかります. 今:16分です.明らかな向上がない 分析ログは、nexus自身がキャッシュを持参しており、npm libをダウンロードする際にアップグレードスペースは存在しません.主要な問題は、構築するたびに、以前に構築されたディレクトリを削除することであり、node_を含む.modules、npm installの場合はダウンロード時間が短く、インストール時間が長いです.
大丈夫です.最終的な目的は機能グループ内部の公共モジュールを管理することです.
リリース
まず、sinopiaにユーザーを追加します.は は、元のプログラムAにnpm登録センターを設定する.nrmで管理できます.インターネット環境が簡単で、登録センターがnexusエージェントに設置されていますので、簡単な 公共モジュールをどうやって抽出するかについては、どのような規則に従うべきですか?注意すべき点はたくさんあります.例えば:どのようなnpmにリリースする必要がありますか?test、coverage report、モジュール参照ドキュメントなどは不要です. 互換性を考慮して、私達のプロジェクトは基本的にES 6、ES 7などの新しい特性を使っています. は、モジュールのホストコードサービスにおいて、サービスドキュメントを参照して、カバー率のテスト、関連する更新状況のテスト、npmバージョンの使用、ISSUEなどのコード品質情報を提供する.
nodejsをインストールします
binaryをダウンロードして、tarコマンドで解凍して環境変数を追加します.
tar -Jxvf node-v8.9.3-linux-x64.tar.xz
// .bash_profile
vi .bash_profile
//
export NODE_HOME=/opt/ibank/node-v8.9.3-linux-x64
export PATH=$PATH:$NODE_HOME/bin
export NODE_PATH=$NODE_HOME/lib/node_modules
//
source .bash_profile
ISSUE:インターネットでソフトリンクを追加すると言っていますが、実際は必要ありません.その後、
ln -s /[your node path] /usr/local/bin
.node -v
、gccをアップグレードします.gccをダウンロードして、ストレスを解消して、依存を調べます.ここの下の4.9.4は全部で前のバージョンは4です.大きなバージョンにまたがって卵にならないようにします.
tar -zxvf gcc-4.9.4.tar.gz
vi ./gcc-4.9.4/contrib/download_prerequisites
ライブラリmpfr、gmp、isl、cloog、mpcをダウンロードして解凍して、GLIBCXX_3.4.11 not found
スクリプトに従って走るコマンドでソフトリンクを追加します.MPFR=mpfr-2.4.2
GMP=gmp-4.3.2
MPC=mpc-0.8.1
#
wget [ftp://gcc.gnu.org/pub/gcc/infrastructure/$MPFR.tar.bz2](ftp://gcc.gnu.org/pub/gcc/infrastructure/$MPFR.tar.bz2) || exit 1
#
tar xjf $MPFR.tar.bz2 || exit 1
#
ln -sf $MPFR mpfr || exit 1
gccのソースディレクトリの外に自分のdownload_prerequisites
ディレクトリを作って、gcc-build
を実行して、配置は自分の必要に応じて選択します.私のconfigure
とgcc-build
は同じクラスのディレクトリです.../gcc-4.9.4/configure --prefix=/usr --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib64 --libexecdir=/usr/lib64 --enable-languages=c,c++,objc,fortran,obj-c++,java --enable-checking=release --with-gxx-include-dir=/usr/include/c++/4.3 --enable-ssp --disable-libssp --with-bugurl=http://bugs.opensuse.org/ --with-pkgversion='SUSE Linux' --disable-libgcj --disable-libmudflap --with-slibdir=/lib64 --with-system-zlib --enable-__cxa_atexit --enable-libstdcxx-allocator=new --disable-libstdcxx-pch --enable-version-specific-runtime-libs --program-suffix=-4.3 --enable-linux-futex --without-system-libunwind --with-cpu=generic --build=x86_64-suse-linuxgeneric --build=x86_64-suse-linux
次いでgcc-4.9.4
.ISSUE:インストール中にzlibが不足しています.自分でダウンロード、解凍、
make && make install
、./configure
をダウンロードすればいいです.バックアップ前の
make && make install
.mv libstdc++.so.6 libstdc++.so.6.bak
ソフトリンクを更新しますln -s /usr/lib64/gcc-4.9.4/libstdc++.so.6.20 /usr/lib64/libstdc++.so.6
libstdc++.so.6
はバージョン番号を出力する.私有倉庫を建てる
イントラネットは代理店と接続して登録センターを設置する必要があります.ここはネットの代理のnexusにつながります.
npm set proxy [http://$](https://outlook.live.com/mail/){your nodejs proxy address}
npm set registry [http://$](https://outlook.live.com/mail/){your nodejs registry}
p 2、sinopiaとsinopia-p 2-starterを取り付けます.npm install -g pm2
npm install -g sinopia
npm install -g sinopia-pm2-starter
使い方:sinopia-pm2-starter --help
sinopia-pm2-starter config:host '0.0.0.0'
sinopia-pm2-starter config:post ${port}
sinopia-pm2-starter start
現在のネットワーククライアントのnpm配置を修正します.npm set proxy null
npm set registry [http://$](https://outlook.live.com/mail/){address}:${port}/
ISSUE:node -v
、sinopia構成を修正し、proxyを追加する必要があります.vi .config/sinopia/config.yaml
packages:
'@*/*':
# scoped packages
access: $all
publish: $authenticated
proxy: npmjs #<====add this
sinopia-pm2-starter restart
検証'@storybook/cli' is not in the npm registry
を修正し、autopackage.bat
を構築に提出する.大丈夫です.最終的な目的は機能グループ内部の公共モジュールを管理することです.
リリース
まず、sinopiaにユーザーを追加します.
:~> npm adduser --registry ${sinopiaAddress}
Username: ${username}
Password: ${password}
それからモジュールを探してみてください.ここで私が作った中国行政区画コードという公共モジュールを使って実験します.ステップは非常に簡単です.call "C:
odejs
pm" config set registry ${sinopiaAddress}
で作成し、コピーしてインターフェースを修正した後、npm init
です.npm publish
です.npm config set registry ${sinopiaAddress}
、使えます.npm install
またはpackage.json
に配置することができます.