我正在安装sylius bundle,同时安装sylius,我需要运行纱线安装 当我运行命令时:

yarn install

我得到了错误:

ERROR: [Errno 2] No such file or directory: 'install'

当前回答

使用Ubuntu 22.04 我在新安装Ubuntu时遇到了这个问题。对我有效的解决方法是:

sudo apt remove cmdtest
sudo apt-get remove yarn && sudo apt-get purge yarn
sudo apt update
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt install yarn
yarn --version # 1.22.19

(编辑:我后来尝试了这个方法,最初并没有奏效。但是当我重新启动电脑再试一次时,它还是工作了。想想看…)

其他回答

尝试以上步骤,在Ubuntu 20上无效。 对于Ubuntu 20,像上面建议的那样删除cmdtest和yarn。使用以下命令安装纱线:

curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -

echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

sudo apt update && sudo apt install yarn

我在ubuntu操作系统上也有同样的问题,我用sudo yarn install而不是yarn install解决了这个问题

yarn包(目前是cmdtest包的别名)的名称冲突。你要找的包装是yarnpkg。所以,试试这个命令:

sudo apt-get remove cmdtest
sudo apt-get install yarnpkg

不幸的是,在yarnpkg中,命令纱被命名为yarnpkg。你可能想要创建一个别名:

sudo ln -s /usr/bin/yarnpkg /usr/local/bin/yarn

如果您正在尝试部署到AWS或任何其他云基础设施,请遵循下面的链接

linux化这将有助于解决AWS上的纱线问题,但仍然存在构建时间问题。

所有正确建议删除Ubuntu yarn包并通过NPM安装yarn的答案都值得称赞,下面是一个详细的答案和解释(注意,还有意见):

从yarn安装中出现No such file or directory错误的原因是您没有使用“正确的”yarn:当您使用Ubuntu软件源安装yarn时,您得到的软件是来自cmdtest黑盒测试套件的“yarn”场景测试工具。这可能不是你的意思,因为Yarn也是Javascript应用程序的流行开发生命周期工具(类似于Make、Maven等)。

Javascript Yarn工具在Ubuntu软件源中是不可用的,但是可以通过NPM安装(NPM是Yarn想要取代的另一个开发生命周期工具——所以这很尴尬…)

要让Yarn在Ubuntu中可用,首先要删除cmdtest及其工具:

$ sudo apt purge cmdtest

然后确保NPM已经安装:

$ sudo apt install npm

然后使用NPM安装Yarn:

$ npm install -g yarn

Note: using npm install -g will install a Javascript package for your current user account, which should be fine for most purposes. If you want to install Yarn for all users, you can use sudo for the NPM command, but that is not recommended: NPM packages are rarely audited for security in the context of a multi-user operating system and installing some packages might even break when installing them as "root". NPM used to warn against running it with sudo and the main reason it is not doing so today is that it annoys people that use sandboxed "root-like" environments (such as Docker) for building and deploying Javascript applications for single-user servers.