Npm 为什么可以';t zsh发现博览会?

Npm 为什么可以';t zsh发现博览会?,npm,expo,zsh,expo-cli,Npm,Expo,Zsh,Expo Cli,我已经安装了expo和expo cli。 我已经正确设置了路径,当我查看bin目录时,我看到了expo和expo cli 但是,我有两个问题,一个是每当我尝试运行npm start时,expo就会进入一个连续的安装循环 第二,我无法管理世博会,即使世博会正在进行中。 我在一篇文章中读到,这可能是因为路径问题,但事实并非如此,我已正确设置了路径。请看我的终端窗口的屏幕截图。 为什么会发生这种情况?~不是对路径中主目录的有效引用;它需要在被纳入之前得到解决。由于~,因此expo和expo cli所在

我已经安装了
expo
expo cli
。 我已经正确设置了
路径
,当我查看
bin
目录时,我看到了
expo
expo cli

但是,我有两个问题,一个是每当我尝试运行
npm start
时,expo就会进入一个连续的安装循环

第二,我无法管理世博会,即使世博会正在进行中。 我在一篇文章中读到,这可能是因为路径问题,但事实并非如此,我已正确设置了路径。请看我的终端窗口的屏幕截图。
为什么会发生这种情况?

~
不是对
路径中主目录的有效引用;它需要在被纳入之前得到解决。由于
~
,因此
expo
expo cli
所在的目录实际上不在路径中;该条目需要看起来与其他一些条目相似,即
/Users//.npm global/bin

这里有一个脚本显示了不同之处;注意第一个
路径
赋值中单引号的效果:

echo 'echo in mytest' > ~/bin/mytest
chmod +x ~/bin/mytest

PATH='~/bin'
echo $PATH
#=> ~/bin
mytest
#=> command not found: mytest

PATH=~/bin
echo $PATH
#=> /Users/gairfowl/bin
mytest
#=> in mytest

@Aj:除了Gairfoll的回答给出的正确解释之外,请注意zsh确实运行命令
expo
,否则会出现zsh:command not found错误。在续集《命令博览会》中,它抱怨说缺少了一些东西。那么,应该用解析路径替换~吗?不确定我该怎么解决这个问题?是的,这是一种方法。在
~/.zshrc
中(或设置路径的任何位置),可以将
.npm global/bin
的路径分配中的
~
更改为
/Users/yourname
。或者,您可以删除
.zshrc
中的引号,这些引号在分配
PATH
时阻止zsh解析目录。