npm 安装 bin/npm: line 1: ../lib/node_modules/npm/bin/npm-cli.js: No such file or directory
2017-04-06 20:28
1206 查看
nodejs 6.9.1安装完成后,验证npm是否安装成功时提示:
解决办法:
如果执行以下命令不行,则可以把install.sh下载下来,放到node目录下执行。
install.sh文件内容如下:
本文作者:jiankunking,出处:http://blog.csdn.net/jiankunking/
bin/npm: line 1: ../lib/node_modules/npm/bin/npm-cli.js: No such file or directory
解决办法:
//运行安装npm的脚本 curl https://npmjs.org/install.sh | sudo sh
如果执行以下命令不行,则可以把install.sh下载下来,放到node目录下执行。
install.sh文件内容如下:
#!/bin/sh # A word about this shell script: # # It must work everywhere, including on systems that lack # a /bin/bash, map 'sh' to ksh, ksh97, bash, ash, or zsh, # and potentially have either a posix shell or bourne # shell living at /bin/sh. # # See this helpful document on writing portable shell scripts: # http://www.gnu.org/s/hello/manual/autoconf/Portable-Shell.html # # The only shell it won't ever work on is cmd.exe. if [ "x$0" = "xsh" ]; then # run as curl | sh # on some systems, you can just do cat>npm-install.sh # which is a bit cuter. But on others, &1 is already closed, # so catting to another script file won't do anything. # Follow Location: headers, and fail on errors curl -f -L -s https://www.npmjs.org/install.sh > npm-install-$$.sh ret=$? if [ $ret -eq 0 ]; then (exit 0) else rm npm-install-$$.sh echo "Failed to download script" >&2 exit $ret fi sh npm-install-$$.sh ret=$? rm npm-install-$$.sh exit $ret fi # See what "npm_config_*" things there are in the env, # and make them permanent. # If this fails, it's not such a big deal. configures="`env | grep 'npm_config_' | sed -e 's|^npm_config_||g'`" npm_config_loglevel="error" if [ "x$npm_debug" = "x" ]; then (exit 0) else echo "Running in debug mode." echo "Note that this requires bash or zsh." set -o xtrace set -o pipefail npm_config_loglevel="verbose" fi export npm_config_loglevel # make sure that Node.js exists node=`which node 2>&1` ret=$? if [ $ret -eq 0 ] && [ -x "$node" ]; then (exit 0) else echo "npm cannot be installed without Node.js." >&2 echo "Install Node.js first, and then try again." >&2 echo "" >&2 echo "Maybe Node.js is installed, but not in the PATH?" >&2 echo "Note that running as sudo can change envs." >&2 echo "" echo "PATH=$PATH" >&2 exit $ret fi # set the temp dir TMP="${TMPDIR}" if [ "x$TMP" = "x" ]; then TMP="/tmp" fi TMP="${TMP}/npm.$$" rm -rf "$TMP" || true mkdir "$TMP" if [ $? -ne 0 ]; then echo "failed to mkdir $TMP" >&2 exit 1 fi BACK="$PWD" ret=0 tar="${TAR}" if [ -z "$tar" ]; then tar="${npm_config_tar}" fi if [ -z "$tar" ]; then tar=`which tar 2>&1` ret=$? fi if [ $ret -eq 0 ] && [ -x "$tar" ]; then echo "tar=$tar" echo "version:" $tar --version ret=$? fi if [ $ret -eq 0 ]; then (exit 0) else echo "No suitable tar program found." exit 1 fi # Try to find a suitable make # If the MAKE environment var is set, use that. # otherwise, try to find gmake, and then make. # If no make is found, then just execute the necessary commands. # XXX For some reason, make is building all the docs every time. This # is an annoying source of bugs. Figure out why this happens. MAKE=NOMAKE if [ "x$MAKE" = "x" ]; then make=`which gmake 2>&1` if [ $? -eq 0 ] && [ -x "$make" ]; then (exit 0) else make=`which make 2>&1` if [ $? -eq 0 ] && [ -x "$make" ]; then (exit 0) else make=NOMAKE fi fi else make="$MAKE" fi if [ -x "$make" ]; then (exit 0) else # echo "Installing without make. This may fail." >&2 make=NOMAKE fi # If there's no bash, then don't even try to clean if [ -x "/bin/bash" ]; then (exit 0) else clean="no" fi node_version=`"$node" --version 2>&1` ret=$? if [ $ret -ne 0 ]; then echo "You need Node.js to run this program." >&2 echo "node --version reports: $node_version" >&2 echo "with exit code = $ret" >&2 echo "Please install Node.js before continuing." >&2 exit $ret fi t="${npm_install}" if [ -z "$t" ]; then # switch based on Node.js version. # note that we can only use strict sh-compatible patterns here. case $node_version in 0.[01234567].* | v0.[01234567].*) echo "You are using an outdated and unsupported version of" >&2 echo "Node.js ($node_version). Please update Node.js and try again." >&2 exit 99 ;; *) echo "install npm@latest" t="latest" ;; esac fi # need to echo "" after, because Posix sed doesn't treat EOF # as an implied end of line. url=`(curl -SsL https://registry.npmjs.org/npm/$t; echo "") \ | sed -e 's/^.*tarball":"//' \ | sed -e 's/".*$//'` ret=$? if [ "x$url" = "x" ]; then ret=125 # try without the -e arg to sed. url=`(curl -SsL https://registry.npmjs.org/npm/$t; echo "") \ | sed 's/^.*tarball":"//' \ | sed 's/".*$//'` ret=$? if [ "x$url" = "x" ]; then ret=125 fi fi if [ $ret -ne 0 ]; then echo "Failed to get tarball url for npm/$t" >&2 exit $ret fi echo "fetching: $url" >&2 cd "$TMP" \ && curl -SsL "$url" \ | $tar -xzf - \ && cd "$TMP"/* \ && (ver=`"$node" bin/read-package-json.js package.json version` isnpm10=0 if [ $ret -eq 0 ]; then if [ -d node_modules ]; then if "$node" node_modules/semver/bin/semver -v "$ver" -r "1" then isnpm10=1 fi else if "$node" bin/semver -v "$ver" -r ">=1.0"; then isnpm10=1 fi fi fi ret=0 if [ $isnpm10 -eq 1 ] && [ -f "scripts/clean-old.sh" ]; then if [ "x$skipclean" = "x" ]; then (exit 0) else clean=no fi if [ "x$clean" = "xno" ] \ || [ "x$clean" = "xn" ]; then echo "Skipping 0.x cruft clean" >&2 ret=0 elif [ "x$clean" = "xy" ] || [ "x$clean" = "xyes" ]; then NODE="$node" /bin/bash "scripts/clean-old.sh" "-y" ret=$? else NODE="$node" /bin/bash "scripts/clean-old.sh" </dev/tty ret=$? fi fi if [ $ret -ne 0 ]; then echo "Aborted 0.x cleanup. Exiting." >&2 exit $ret fi) \ && (if [ "x$configures" = "x" ]; then (exit 0) else echo "./configure $configures" echo "$configures" > npmrc fi) \ && (if [ "$make" = "NOMAKE" ]; then (exit 0) elif "$make" uninstall install; then (exit 0) else make="NOMAKE" fi if [ "$make" = "NOMAKE" ]; then "$node" cli.js rm npm -gf "$node" cli.js install -gf fi) \ && cd "$BACK" \ && rm -rf "$TMP" \ && echo "It worked" ret=$? if [ $ret -ne 0 ]; then echo "It failed" >&2 fi exit $ret
本文作者:jiankunking,出处:http://blog.csdn.net/jiankunking/
相关文章推荐
- “-bash: /usr/local/bin/npm: No such file or directory” centos7 nodejs yum安装包损坏的修复
- 安装nodejs和npm以后出现 /usr/bin/env: node: No such file or directory
- ubutu安装phonegap 后出现/usr/bin/env:node No such file or directory的错误
- 安装nodejs和grunt以后出现 /usr/bin/env: node: No such file or directory
- vue 安装完新的插件后,报错errno -4058,enoent ENOENT: no such file or directory,找不到node_modules下面的文件
- CentOS安装软件出现错误:bash: /usr/local/bin/rar: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
- /opt/hadoop//bin/hadoop: line 144: /usr/lib/jvm/jdk1.7.0_151/bin/java: No such file or directory
- npm WARN enoent ENOENT: no such file or directory, open 'E:\Program Files\nodejs \package.json' npm
- npm WARN enoent ENOENT: no such file or directory, open 'C:\Program Files\nodejs \package.json'
- npm: no such file or directory, scandir '.../node_modules/node-sass/vendor'
- npm WARN enoent ENOENT: no such file or directory, open 'E:\Program Files\nodejs \package.json' npm
- 安装nodejs和grunt以后出现 /usr/bin/env: node: No such file or directory
- npm WARN enoent ENOENT: no such file or directory, open 'E:\Program Files\nodejs \package.json' npm
- Homebrew 安装 node 后,npm报 env: node no such file or directory
- npm WARN enoent ENOENT: no such file or directory, open 'E:\Program Files\nodejs \package.json' npm
- npm WARN enoent ENOENT: no such file or directory, open 'E:\Program Files\nodejs \package.json' npm
- 解决Error: ENOENT: no such file or directory, scandir 'D:\IdeaWork\code-front-jet\node_modules\.npminstall\node-sass\3.7.0\node-sass\vendor'
- npm WARN enoent ENOENT: no such file or directory, open 'E:\Program Files\nodejs \package.json' npm
- npm WARN enoent ENOENT: no such file or directory, open 'E:\Program Files\nodejs \package.json' npm
- 解决Error: ENOENT: no such file or directory, scandir 'D:\IdeaWork\code-front-jet\node_modules\.npmins