最新バージョンのノードにアップグレードしようとしています。 http://davidwalsh.name/upgrade-nodejs の指示に従っています。
しかし私がするとき:
Sudo npm install -g n
私はエラーが出ます:
Sudo: npm: command not found
npmはSudoなしで動作します。私がする時:
whereis node
そうですか:
node: /usr/bin/node /usr/lib/node /usr/bin/X11/node /usr/local/node
ランニング:
which npm
示しています:
/usr/local/node/bin/npm
私は https://stackoverflow.com/a/5062718/1246159 で解決策を試してみました
しかし、私はまだ同じエラーを受けています。/etc/sudoersファイルも調べたところ、関連する行は次のとおりです。
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
これは私にはよく見えます。どうすればNPMをSudoコマンドで動作させることができますか?
Npmファイルは/usr/local/bin/npm
にあります。ない場合は、 website にパッケージとともにnode.jsを再インストールします。これは私の場合はうまくいきました。
私がしなければなりませんでした
Sudo apt-get install npm
それは私のために働いた。
MACユーザーの場合、以下のステップが私にとってはうまくいきました。
$ brew update
$ brew uninstall node
$ brew install node
$ brew postinstall
私は同じ問題を抱えていました。これを修正するためのコマンドは次のとおりです。
Sudo ln -s /usr/local/bin/node /usr/bin/node
Sudo ln -s /usr/local/lib/node /usr/lib/node
Sudo ln -s /usr/local/bin/npm /usr/bin/npm
Sudo ln -s /usr/local/bin/node-waf /usr/bin/node-waf
chmod 777
を実行することは本当に汚い解決策です。これらを最初に試してみて、一度に1つずつ試してみてください。
$ Sudo chmod -R 777 /usr/local/lib/node_modules/npm
$ Sudo chmod -R 777 /usr/local/lib/node_modules
$ Sudo chmod g+w /usr/local/lib
$ Sudo chmod g+rwx /usr/local/lib
$ brew postinstall node
は私が問題を抱えるだろう唯一のインストール部分です
Permission denied - /usr/local/lib/node_modules/npm/.github
だから私は
// !! READ EDIT ABOVE BEFORE RUNNING THIS CODE !!
$ Sudo chmod -R 777 /usr/local/lib
$ brew postinstall node
そしてviola、npmはリンクされました
$ npm -v
3.10.10
エクストラ
lib で-R 777
を使用した場合、ネストしたファイルとディレクトリをデフォルト設定に設定することをお勧めします。
find /usr/local/lib -type f -print -exec chmod 644 {} \;
find /usr/local/lib -type d -print -exec chmod 755 {} \;
chmod /usr/local/lib 755
私は次のことをしなければなりませんでした:
brew update
brew uninstall node
CentOSユーザーにとって、これは私のために働きます:
Sudo yum install npm
Sudoの許可を得てnpmパッケージをグローバルにインストールするためには、/usr/bin/npm
が利用可能であるべきです。他のディレクトリにnpm
が存在する場合は、次のようなソフトリンクを作成します。
Sudo ln -s /usr/local/bin/npm /usr/bin/npm
Fedora 25、node8.0.0、npm5.0.0で動作します。
Nodeをインストールした後のdebianの場合はenter
curl -k -O -L https://npmjs.org/install.sh
ln -s /usr/bin/nodejs /usr/bin/node
sh install.sh
単に再インストールしてください。
RHEL、CentOS、Fedoraについて
Sudo yum remove nodejs npm
Sudo dnf remove nodejs npm [On Fedora 22+ versions]
それから
yum -y install nodejs npm
dnf -y install nodejs npm [On Fedora 22+ versions]
簡単です!.. nodeとnpmは両方とも魅力的に動作します。
私はこの問題を解決しました
apt-get install npm2deb
Nvmを使用してnode/npmをインストールした場合は、どちらかのパッケージを使用する前にnvm環境設定ファイルを実行する必要があります。
これは通常〜/ .nvm/nvm.shにあります。
これを自動的に実行するには、以下を含めます。
source ~/.nvm/nvm.sh
ユーザーの.bash_profileファイルに
そのユーザーでSudoを使用したい場合は、Sudoがユーザー環境を設定するように-iパラメーターを必ず含めてください。例えば
Sudo -iu jenkins npm install grunt-cli
私もホームステッドで同じ問題を抱えていて、多くの方法を試しました。私が試した
Sudo apt-get install nodejs
次のようなエラーが表示されます。
The following packages have unmet dependencies:
npm : Depends: nodejs but it is not going to be installed
Depends: node-abbrev (>= 1.0.4) but it is not going to be installed
Depends: node-ansi (>= 0.3.0-2) but it is not going to be installed
Depends: node-ansi-color-table but it is not going to be installed
Depends: node-archy but it is not going to be installed
Depends: node-block-stream but it is not going to be installed
Depends: node-fstream (>= 0.1.22) but it is not going to be installed
Depends: node-fstream-ignore but it is not going to be installed
Depends: node-github-url-from-git but it is not going to be installed
Depends: node-glob (>= 3.1.21) but it is not going to be installed
Depends: node-graceful-fs (>= 2.0.0) but it is not going to be installed
Depends: node-inherits but it is not going to be installed
Depends: node-ini (>= 1.1.0) but it is not going to be installed
Depends: node-lockfile but it is not going to be installed
Depends: node-lru-cache (>= 2.3.0) but it is not going to be installed
Depends: node-minimatch (>= 0.2.11) but it is not going to be installed
Depends: node-mkdirp (>= 0.3.3) but it is not going to be installed
Depends: node-gyp (>= 0.10.9) but it is not going to be installed
Depends: node-nopt (>= 3.0.1) but it is not going to be installed
Depends: node-npmlog but it is not going to be installed
Depends: node-once but it is not going to be installed
Depends: node-osenv but it is not going to be installed
Depends: node-read but it is not going to be installed
Depends: node-read-package-json (>= 1.1.0) but it is not going to be installed
Depends: node-request (>= 2.25.0) but it is not going to be installed
Depends: node-retry but it is not going to be installed
Depends: node-rimraf (>= 2.2.2) but it is not going to be installed
Depends: node-semver (>= 2.1.0) but it is not going to be installed
Depends: node-sha but it is not going to be installed
Depends: node-slide but it is not going to be installed
Depends: node-tar (>= 0.1.18) but it is not going to be installed
Depends: node-underscore but it is not going to be installed
Depends: node-which but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
最後に試してみた
Sudo apt-get dist-upgrade
それはうまくいった。
root@Homestead:/usr/local/bin# npm -v
3.10.10
root@Homestead:/usr/local/bin# node -v
v6.13.0
私は同じ問題を抱えていた、それはノードのインストール中にnpmパッケージマネージャがインストールされていなかったという理由です。これは次の間違いが原因でした。インストールプロセスに「カスタムセットアップ」という手順があります。ここでは、次のいずれかを選択できます。 2)npmパッケージマネージャ3)オンラインドキュメントのショートカット。 4)パスに追加します。そのままnpmパッケージマネージャをインストールするとインストールされず、エラーが発生します。
解決策:これらのオプションが表示されたら、npmパッケージマネージャを選択してください。これは私のために働きました。
CentOS でも同じことが言えます。
which npm
は次のようになります。
$ which npm
/usr/local/bin/npm
どこで
$ Sudo which npm
which: no npm in (/sbin:/bin:/usr/sbin:/usr/bin)
Nodeも同じです。
そのため、おそらくrootが/usr/local/bin
でバイナリをチェックしないという問題があります。
ノードを完全に削除します。
brew uninstall --force node
もう一度インストールします。
brew install node;
which node # => /usr/local/bin/node
export NODE_PATH='/usr/local/lib/node_modules'
私の解決策は:
Sudo -E env "PATH=$PATH" n stable
私にとってはうまくいきます。
ここで見つけました: https://stackoverflow.com/a/29400598/861615
これは、デフォルトのグローバルパッケージディレクトリを変更したために起こります。
ノードパッケージをダウンロードして/opt
のような場所に展開した場合は、単に/usr/local/bin
の中にシンボリックリンクを作成できます。
/usr/local/bin/npm -> /opt/node-v4.6.0-linux-x64/bin/npm
/usr/local/bin/node -> /opt/node-v4.6.0-linux-x64/bin/node
rh-*
パッケージを使っている人なら誰でも役に立つかもしれませんが、これは私のために働きました:
Sudo ln -s /opt/rh/rh-nodejs8/root/usr/bin/npm /usr/local/bin/npm
Ubuntuで18.04これは私のために働いた:
Sudo apt install nodejs
Sudo apt install npm
Visudoを使用して "secure_path"を編集して、Sudoパスへのnpmバイナリパスの追加
今 "Sudo npm"が機能します