Debian:グローバルにアクセス可能なルートでノードパスを設定する

Debian:グローバルにアクセス可能なルートでノードパスを設定する

インストーラをダウンロードしてNodeJS中に入れました/home/deploy/nodejs。私はその道を設定しようとしていますが、成功しませんでした。 rootとしてログインしましたが、nodejsrootとしてもアクセスしたいです。そのために、以下をnpm追加してみました。/root/.bashrc

PATH=/usr/bin/node:/home/deploy/nodejs/bin/
PATH=/usr/bin/npm:/home/deploy/nodejs/bin/

その後私は試しましたが、nodeそれらnpmのどれも効果がありませんでした。私は何が間違っていましたか?

内部ファイルは/home/deploy/nodejs/binnode、node_modules、npm です。 .debインストーラを試しましたが、npmがインストールされず、Nodejsがインストールされているので、これをすべて行う必要があります... :-(

修正する

npm
/home/deploy/nodejs/bin/npm: 1: /home/deploy/nodejs/bin/npm: dirname: not found
/home/deploy/nodejs/bin/npm: 2: exec: /node: not found

答え1

1)システムの大部分を損傷する経路を扱っています。正しい行は次のとおりです。

PATH="$PATH:/home/deploy/nodejs/bin"

これにより、上書きするのではなくPATHに何かを追加できます。また、パスはファイルではなくディレクトリで構成されており、/usr/binすでにディレクトリに存在する必要があるため、最初の部分は役に立ちません。

2)「やめ直してみましたか?」 -.bashrcログイン中または使用中にのみロードされますsource ~/.bashrc。システム全体のパスを変更するには、で変更する必要があります/etc/profile

/home/deploy/nodejs/bin/node3) また、ファイルが存在し、実行可能であることを確認します。 (正しくインストールした場合は確実に実行されますが、chmod a+x /home/deploy/nodejs/bin/node /home/deploy/nodejs/bin/npmより確実に実行してみることができます。)

答え2

私がしたことは次のとおりです。

  1. 以下から正しいバージョン(私の場合はRaspberry Pi 3b用ARMv7)をダウンロードしてください。NodeJSサイト
  2. /opt/nodeで解凍(xz -dおよび使用tar xf
  3. これにより、通常はサブディレクトリにすべてのコンテンツが残るので、すべてのコンテンツを移動しました。mv node-v14.15.4-linux-armv7l/* .
  4. Node、npm、npxの/usr/binへのソフトリンクの生成
    root@fileserver:/opt/node# ln -s /opt/node/bin/npx /usr/bin/npx
    root@fileserver:/opt/node# ln -s /opt/node/bin/node /usr/bin/node
    root@fileserver:/opt/node# ln -s /opt/node/bin/npm /usr/bin/npm 

これにより、すべてが魅力のように動作します。他のユーザーのアクセスを許可するには、chmod を使用して権限を変更する必要がある場合があります。

ユーザーベースのソリューションについては、以下を確認してください。https://github.com/nodejs/help/wiki/Installation#how-to-install-nodejs-via-binary-archive-on-linux

関連情報