如何在我的项目中从 npm 切换到 yarn?

Posted

技术标签:

【中文标题】如何在我的项目中从 npm 切换到 yarn?【英文标题】:How do I switch from npm to yarn in my project? 【发布时间】:2020-11-04 00:02:15 【问题描述】:

我在项目中尝试从 npm 切换到 yarn 时遇到问题。我尝试下载纱线,但我仍然让 npm 开始我的项目。我需要切换,因为我正在处理的项目需要它是 yarn,所以我可以添加一个 maven 前端插件来绑定我的后端和前端以进行部署。

1.
<frontend-maven-plugin.version>1.6</frontend-maven-plugin.version>
<node.version>v10.13.0</node.version>
<yarn.version>v1.12.1</yarn.version>

2.
<profiles>
    <profile>
        <id>demo</id>
        <build>
            <plugins>

                <plugin>
                    <groupId>com.github.eirslett</groupId>
                    <artifactId>frontend-maven-plugin</artifactId>
                    <version>$frontend-maven-plugin.version</version>
                    <configuration>
                        <workingDirectory>src/js</workingDirectory>
                    </configuration>
                    <executions>
                        <execution>
                            <id>install node</id>
                            <goals>
                                <goal>install-node-and-yarn</goal>
                            </goals>
                            <configuration>
                                <nodeVersion>$node.version</nodeVersion>
                                <yarnVersion>$yarn.version</yarnVersion>
                            </configuration>
                        </execution>
                        <execution>
                            <id>yarn install</id>
                            <goals>
                                <goal>yarn</goal>
                            </goals>
                            <phase>generate-resources</phase>
                        </execution>
                        <execution>
                            <id>yarn test</id>
                            <goals>
                                <goal>yarn</goal>
                            </goals>
                            <phase>test</phase>
                            <configuration>
                                <arguments>test</arguments>
                                <environmentVariables>
                                    <CI>true</CI>
                                </environmentVariables>
                            </configuration>
                        </execution>
                        <execution>
                            <id>yarn build</id>
                            <goals>
                                <goal>yarn</goal>
                            </goals>
                            <phase>compile</phase>
                            <configuration>
                                <arguments>build</arguments>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <artifactId>maven-resources-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>copy-resources</id>
                            <phase>process-classes</phase>
                            <goals>
                                <goal>copy-resources</goal>
                            </goals>
                            <configuration>
                                <outputDirectory>$basedir/target/classes/static</outputDirectory>
                                <resources>
                                    <resource>
                                        <directory>src/js/build</directory>
                                    </resource>
                                </resources>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    </profile>
</profiles>

链接1 https://github.com/amigoscode/spring-boot-react-fullstack/blob/app-0/course-files/profiles.txt 链接2 https://github.com/eirslett/frontend-maven-plugin

【问题讨论】:

【参考方案1】:

这很简单;遵循这些说明:

    确认Yarn 已全局安装在您的计算机上,否则使用npm install -g yarn 进行安装。 进入你的项目根目录并在你的 CLI 上输入yarnYarn 可以使用与 npm 相同的 package.json 格式,并且可以从 npm 注册表安装任何包。

更多详情,请查看official yarn doc。

【讨论】:

在这种情况下我可以删除 package-lock.json 文件吗? 当然可以。纱线锁文件将自动创建。 从 Yarn 1.7 开始,您也可以只使用 yarn import,它会尝试复制 package-lock.json 中的相同依赖项。【参考方案2】:

只要你的计算机中安装了 yarn,你不需要做任何事情来从 npm 切换到 yarn。同样要使用 yarn 安装包,你应该运行命令 yarn 而不是 yarn install ,它等同于 npm install。因为 yarn 不是一个独立的库。 Yarn 只是一个新的 CLI 客户端,它从 npm 注册表中获取模块。注册表本身不会发生任何变化——您仍然可以正常获取和发布包。

有关纱线的更多信息,您应该阅读This

【讨论】:

以上是关于如何在我的项目中从 npm 切换到 yarn?的主要内容,如果未能解决你的问题,请参考以下文章

切换到 npm 以进行 create-react-app

如何在我的 Xcode Swift 项目的不同导航堆栈中从一个视图控制器屏幕切换到另一个?

如何在 PHP docker 镜像上安装 yarn 和 npm(symfony 4 项目)

在我的 angular-cli 项目中从 node-sass 切换到 dart sass

如何卸载Node、NPM、yarn

在同一个项目中使用 NPM 和 Yarn 有啥坏处吗?