繁体   English   中英

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

[英]How do I switch from npm to yarn in my project?

我在尝试从项目中的 npm 切换到纱线时遇到问题。 我尝试下载纱线,但我仍然得到 npm 来启动我的项目。 我需要切换,因为我正在处理的项目需要它是纱线,所以我可以添加一个 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>

Link1 https://github.com/amigoscode/spring-boot-react-fullstack/blob/app-0/course-files/profiles.txt Link2 https://github.com/eirslett/frontend-maven-plugin

完整的简单一步一步的答案:

  1. 安装纱npm i -g yarn
  2. Go 到你安装包并运行yarn命令的目录
  3. Yarn 将初始化并创建它的yarn.lock文件,现在删除package-lock.json * Note
  4. 在您的package.json文件中,在"scripts"中替换所有npm yarn的命令** Note
  5. 运行yarn dev或你用来运行 yarn 脚本的任何命令=> DONE

* Note:重要的是你不要在yarn命令之前删除它(正如一些人建议的那样)它会破坏一些东西,例如你的yarn命令甚至不会工作,它会抛出错误:

Error: ENOENT: no such file or directory, open './package-lock.json'

** Note:如果您使用

 "preinstall": "npx npm-force-resolutions",

你可以删除它,yarn 默认情况下会采取"resolutions" ,而不需要强制:)

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

  1. 验证Yarn是否已全局安装在您的机器上,否则使用npm install -g yarn安装它。
  2. Go 到您的项目根目录并在 CLI 上键入yarn Yarn can consume the same package.json format as npm, and can install any package from the npm registry.

有关更多详细信息,请查看官方 yarn 文档

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM