npm安装的全局指令,执行时出现zsh:command not found

935 阅读2分钟

通过npm安装的全局指令,执行时出现zsh:command not found

npm bin -g # 查看npm的bin目录的路径,/Users/Daming/.nvm/versions/node/v16.17.0/bin
echo $PATH # # 打印路径环境变量,路径环境变量的值是以:分割的多个变量。看npm的bin目录是否在环境变量中,如果不在则需要设置。

# 将第一步查到的路径添加到环境变量中
vim ~/.zshrc # 编辑zshrc文件,因为使用的命令行是zsh,所以将路径环境变量添加到该文件中。也可以使用open。
# 编辑.zshrc文件,添加环境变量的方法上面提到了
source .zshrc # 执行该脚本
# 或者执行. zshrc ,source和.都是shell自带的内建命令,是等价的
open <路径> # 打开某个路径

npm

local模式和global模式

npm的操作都有local模式global模式两种模式。

local mode:安装包到当前目录。 执行安装时第三方包会被安装到./node_modules路径;可执行文件bins会被安装到./node_modules/.bin目录

global mode: npm installs packages into the install prefix at npm_config_prefix/lib/node_modules and bins to $npm_config_prefix/bin. Local mode is the default.

通过-g or --global可以执行全局操作。第三方包和可执行文件会被安装到全局的路径。

npm bin - 打印可执行文件的安装路径

 npm bin # 打印出npm安装可执行文件的路径。
# /Users/daming/node_modules/.bin
npm bin -g # 打印出npm安装全局可执行文件的路径。
# /Users/daming/.nvm/versions/node/v16.14.2/bin

npm prefix - 打印包安装路径

将本地前缀打印到标准输出。这是包含 package.json 文件或 node_modules 目录的最近父目录,除非还指定了 -g。

如果指定了 -g,这将是全局前缀的值。

通过npm config ls -l可以打印出全部的配置,其中就有prefix。

npm prefix -g
# /Users/Daming/.nvm/versions/node/v16.14.2
npm config get prefix
# /Users/Daming/.nvm/versions/node/v16.14.2
npm config ls -l

npm config set prefix <directory> //设置全局包目录
npm config set cache <directory> //设置缓存目录

npm link

npm-link

cd ~/projects/node-redis    # go into the package directory
npm link                    # creates global link
cd ~/projects/node-bloggy   # go into some other package directory.
npm link redis              # link-install the package

yarn

通过yarn安装的全部指令,执行时出现zsh:command not found

yarn global dir # 查看yarn 全局安装的包的位置
# /Users/daming/.config/yarn/global

yarn global bin
# /Users/daming/.yarn/bin

# 将yarn global bin得到的路径添加到path环境变量中

yarn的其他指令

v1版本:classic.yarnpkg.com/en/docs/cli…

yarn -v

yarn bin - 打印可执行文件的安装路径

打印通过yarn add安装可执行文件的位置

yarn global - 全局模式是一个命令

和npm一样,yarn的操作也有global模式。

npm的全局模式通过--global 进行标注。

yarn的全局模式是一个命令,global命令必须紧跟在yarn之后。

yarn global bin

yarn global bin 打印安装全局可执行文件的路径.

执行yarn config set prefix ~/.yarn可以将全部执行包安装到 ~/.yarn/bin.

yarn global dir

yarn global dir will print the output of the global installation folder that houses the global node_modules. By default that will be: ~/.config/yarn/global.

yarn link

yarn link 通常创建全局唯一的引用,在用户目录 ~/.config/yarn/link/ 下。