以下の内容でパッケージnpm -gを使用してインストールするパッケージbashスクリプトに表示されない理由は何ですか?
#!/usr/bin/env bash
export NODE_ENV=production
git --work-tree=/home/myusername/app --git-dir=/home/myusername/git checkout -f
cd /home/myusername/app
npm prune
npm install --production
knex migrate:latest
をエクスポートするとき、私は自分のサーバーにssh'dとき、私はグローバルknexをインストールしますが、bashシェルの環境内に存在していないようGitのフックとしてこのpost-receive
スクリプトを持っています。彼らがどのように異なっているかを知る知識が不足しています。私のノードのバージョンが違っていたことにも気付きました。ユーザーの通常の環境をインポートするにはどうすればよいですか?
npm list --global --depth=0
あなたは、その後に第二のシステム上でこれらのモジュールをインストールすることができます:あなたがインストールしたい場合は
npm install --global module_name module_name ...
インストールしたモジュールの名前とバージョンをグローバルに実行し得るために
私が知りませんでしたのは、使用しているノードのバージョンに-gをインストールすることです。私はサーバ上でnvmを使用していましたが、使用していたバージョンの下にインストールされています。私のbashスクリプトでnvmを入手し、knexを実行しようとする前に使用したいノードのバージョンを指定することで、私の問題が解決されました。 –
@MathieuBertinはい、それがnvmの仕組みです。サーバー上でnvmを使用しているとは言いませんでした。 – rsp
npmが-gのインストール方法を正しく理解していませんでした。あなたの詳細な答えをありがとう。 –